添加用户与删除用户
添加用户:
[root@oldboyedu ~]# useradd gongli -u 888 -s /sbin/nologin -M
[root@oldboyedu ~]# tail -1 /etc/passwd
gongli:x:888:1007::/home/gongli:/sbin/nologin
bingbing:x:1004:1006::/home/bingbing:/bin/bash
[root@oldboyedu ~]# useradd gongli1 -c "beautify woman" -d /tmp -e '2020/10/20'
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@oldboyedu ~]# tail -1 /etc/passwd
gongli1:x:1005:1008:beautify woman:/tmp:/bin/bash
[root@oldboyedu ~]# chage -l gongli1
Last password change					: Mar 25, 2019
Password expires					: never
Password inactive					: never
Account expires						: Oct 20, 2020  =================
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7
给开发等人员添加用户,尽量给截止时间。
非交互式创建设置密码:
方法1:
[root@oldboyedu ~]# echo 123456|passwd --stdin oldgirl
方法2:
[root@oldboyedu ~]# echo 123456 >pass
[root@oldboyedu ~]# cat pass
123456
[root@oldboyedu ~]# passwd --stdin oldgirl <pass 
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
批量修改密码:
[root@oldboyedu ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}' >user.log
[root@oldboyedu ~]# cat user.log
gongli1:oldboy
gongli2:oldboy
chenglong1:oldboy
zongsheng:oldboy
chpasswd对密码文件的要求是上述user.log
方法1:
[root@oldboyedu ~]# chpasswd<user.log 
方法2:
[root@oldboyedu ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'|chpasswd 
例子:批量创建10个用户,oldboy01-oldboy10,请设置和用户名相同的密码。
echo oldboy{01..10}|xargs -n1|sed -rn 's#(.*)#useradd \1;echo 123456|passwd --stdin \1 #gp'|bash
添加用户组:
指定用户用户组
usermod -g 3D lurui
给用户添加多个组
usermod -G 3D,frasergen lurui
删除用户:
userdel lurui 删除用户
userdel -r lurui 删除用户及家目录
工作中为了防止出错,通常通过编辑/etc/passwd,通过注释来删除。过几月没问题再删账户。
#chenglong1:x:1007:1009::/home/chenglong1:/bin/sh
"/etc/passwd" 30L, 1362C written                                                              
[root@oldboyedu ~]# su - chenglong1
su: user chenglong1 does not exist
修改用户:
[root@oldboyedu ~]# useradd -u 9999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh
[root@oldboyedu ~]# id zongsheng
uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)
[root@oldboyedu ~]# chage -l zongsheng
Last password change					: Mar 25, 2019
Password expires					: never
Password inactive					: never
Account expires						: May 01, 2019
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7
usermod -u 8888 -s /bin/bash -m /home/zongsheng -g incahome -c "男孩" -e "2020/5/1" 
[root@oldboyedu ~]# usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
[root@oldboyedu ~]# chage -l zongsheng
Last password change					: Mar 25, 2019
Password expires					: never
Password inactive					: never
Account expires						: May 01, 2020
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7
[root@oldboyedu ~]# id zongsheng
uid=8888(zongsheng) gid=1004(incahome) groups=1004(incahome)
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:8888:1004:男孩:/home/zongsheng:/bin/bash
You have new mail in /var/spool/mail/root
usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
usermod -m /home/zongsheng zongsheng
============================================================================
用户管理知识:
用户相关文件:
/etc/passwd 用户所在文件
/etc/shadow 密码所在文件
useradd oldboy 添加用户实际上就是修改上述两个文件
passwd oldboy 改密码实际上就是修改密码所在文件
用户组相关文件:
/etc/group 用户组所在文件
/etc/gshadow 用户组密码所在文件(废弃状态)
useradd oldboy 添加用户实际上也会修改上述两个文件(因为要创建同名的用户组)
groupadd sa 添加用户组就是修改上述两个文件
用户登录:输入命令,希望哪个解释器解释(结尾列决定)
/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash
CentOS7默认解释器是bash。
/etc/passwd里的解释器
[root@oldboyedu ~]# awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c
      6 /bin/bash
      1 /bin/sync
      1 /sbin/halt
     18 /sbin/nologin
      1 /sbin/shutdown
[root@oldboyedu ~]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
bash是sh的扩展,sh是bash的软连接。
[root@oldboyedu ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Mar  4 11:15 /bin/sh -> bash
/bin/bash /server/scripts/bak.sh
[root@oldboyedu ~]# tail -1 /etc/shadow
bingbing  用户
:!!       密码
:17980    最近更改密码的时间
:0        禁止修改密码的天数
:99999    用户必须更改口令的天数
:7        警告更改密码的期限
:		  在用户密码过期之后到禁用账户的天数
:		  从1970年1月1日起,到用户被禁用的天数
:		  保留
/etc/group
/etc/gshadow
                    
                
                
            
        
浙公网安备 33010602011771号