linux用户管理

1.0用户配置文件和密码配置文件

看用户配置文件
[root@linux1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
centos:x:1000:1000::/home/centos:/bin/bash
centos1:x:1001:1001::/home/centos1:/bin/bash
总共分为7段,为冒号分割第一段为用户,第二段密码,第三段uid,第四段gid,第五段注释信息,第六段用户家目录,第七段是用户的shell。

查看管理用户密码文件

[root@linux1 ~]# cat /etc/shadow
修改centos用户密码
[root@linux1 ~]# passwd centos
更改用户 centos 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@linux1 ~]# head -n1 /etc/shadow; tail -n2 /etc/shadow
root:$6$WdzvcXKcD/tJ6mcf$0wgqtE4/Y26RocYpQU2Ear7D19IhLJUb1ymm2mfLMBaZBybvPMnT/kg/Yo9PU38FqPTx4tpY3VOBfzgPRNDDA/::0:99999:7:::
centos:$6$F7ALXuqX$WiQ5BTXbGPn6e54pwqcMcGIRaY9foXRdnkone15hFMWKhO9b66STfP.GNG/wgPNOyb/h0b.Hwruxi7lHrvvIR/:18142:0:99999:7:::
centos1:!!:18138:0:99999:7:::

帐号名称 :root
加密后的密码$6$WdzvcXKcD/tJ6mcf$0wgqtE4/Y26RocYpQU2Ear7D19IhLJUb1ymm2mfLMBaZBybvPMnT/kg/Yo9PU38FqPTx4tpY3VOBfzgPRNDDA/
上次修改密码的日期:
密码不可被变更的天数:0
密码需要被重新变更的天数:99999(99999表示不需要变更)
密码变更前提前几天警告 :7
帐号失效日期 :无
帐号取消日期 :无
保留条目,目前没用

2.0用户组管理

看组配置文件
# cat /etc/group

用户配置文件密码文件组文件系统都会帮备份一份

[root@linux1 ~]# ls /etc/group
group   group- 
[root@linux1 ~]# ls /etc/shadow
shadow   shadow-  
[root@linux1 ~]# ls /etc/passwd
passwd   passwd- 
创建组
[root@linux1 ~]# groupadd grp1
查看组
[root@linux1 ~]# tail -n1 /etc/group
grp1:x:1002:
删除组
[root@linux1 ~]# groupdel grp1

注:想删除组,组有人是删除不了。需要删除组的用户在删除组

3.0用户管理

创建用户
[root@linux1 ~]# useradd user1
可以指定uid和giu
[root@linux1 ~]# useradd -u 1003 -g centos user3
[root@linux1 ~]# tail -n3 /etc/passwd
centos1:x:1001:1001::/home/centos1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
user3:x:1003:1000::/home/user3:/bin/bash
指定家目录和shell
[root@linux1 ~]# useradd -u 1005 -g centos -d /home/user4 -s /sbin/nologin user4
[root@linux1 ~]# tail -n3 /etc/passwd
user1:x:1002:1002::/home/user1:/bin/bash
user3:x:1003:1000::/home/user3:/bin/bash
user4:x:1005:1000::/home/user4:/sbin/nologin
看家目录
[root@linux1 ~]# ls /home/
centos  centos1  user1  user3  user4
指定不让创建家目录
[root@linux1 ~]# useradd -M user5
[root@linux1 ~]# ls /home/
centos  centos1  user1  user3  user4
删除用户
[root@linux1 ~]# userdel user5
删除用户不会删除家目录。家目录留给管理员,管理员确定没用了可以直接删除了。

删除用户和家目录一起删除

[root@linux1 ~]# userdel -r user4
[root@linux1 ~]# ls /home/
centos  centos1  user1  user3

4.0 usermod命令

  • -c<备注>  修改用户帐号的备注文字。
  • -d登入目录>  修改用户登入时的目录。
  • -e<有效期限>  修改帐号的有效期限。
  • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -l<帐号名称>  修改用户帐号名称。
  • -L  锁定用户密码,使密码无效。
  • -s<shell>  修改用户登入后所使用的shell。
  • -u<uid>  修改用户ID。
  • -U  解除密码锁定。
更改用户的属性
[root@linux1 ~]# usermod -u 1005 -g centos user3

5.0用户密码管理

更改root密码
[root@linux1 ~]# passwd 
更改用户 root 的密码 。
新的 密码:
更改普通用户密码
[root@linux1 ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
密码有!!和*号是不等登录或者被锁定
[root@linux1 ~]# tail /etc/shadow
systemd-network:!!:18134::::::
dbus:!!:18134::::::
polkitd:!!:18134::::::
sshd:!!:18134::::::
postfix:!!:18134::::::
chrony:!!:18134::::::
centos:$6$F7ALXuqX$WiQ5BTXbGPn6e54pwqcMcGIRaY9foXRdnkone15hFMWKhO9b66STfP.GNG/wgPNOyb/h0b.Hwruxi7lHrvvIR/:18142:0:99999:7:::
centos1:!!:18138:0:99999:7:::
user1:!!:18142:0:99999:7:::
user3:!!:18142:0:99999:7:::
看到centos用户是可以密码登录系统,锁定centos用户
[root@linux1 ~]# passwd -l centos
锁定用户 centos 的密码 。
passwd: 操作成功
查看密码文件
[root@linux1 ~]# tail -n5 /etc/shadow
chrony:!!:18134::::::
centos:!!$6$F7ALXuqX$WiQ5BTXbGPn6e54pwqcMcGIRaY9foXRdnkone15hFMWKhO9b66STfP.GNG/wgPNOyb/h0b.Hwruxi7lHrvvIR/:18142:0:99999:7:::
centos1:!!:18138:0:99999:7:::
user1:!!:18142:0:99999:7:::
user3:!!:18142:0:99999:7:::

发现centos用户前面多个两个!!已经锁定用户。

解锁用户
[root@linux1 ~]# passwd -u centos
解锁用户 centos 的密码。
passwd: 操作成功
还有一个命令可以锁定用户
usermod -L centos 锁定
usermod -U centos 解锁
给一个用户设定密码
[root@linux1 ~]# passwd --stdin user1
更改用户 user1 的密码 。
123456 
passwd:所有的身份验证令牌已经成功更新。
这个用法写shell用的
[root@linux1 ~]# echo "321321" |passwd --stdin user1
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。

还有一种

[root@linux1 ~]# echo -e "1233
asda"
1233
asda
[root@linux1 ~]# echo -e "123311
123311" |passwd user1
更改用户 user1 的密码 。
新的 密码:无效的密码: 密码少于 8 个字符
重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。

6.0 mkpasswd命令

生成字符密码的工具,默认没有安装。安装
[root@linux1 ~]# yum install -y expect
命令参数
  • -l 指定密码长度
  • -s 指定特殊字符个数
  • -d 指定数字的个数
指定密码长度
[root@linux1 ~]# mkpasswd -l 12
Ym6viDp0l*ec
指定长度和特殊字符
[root@linux1 ~]# mkpasswd -l 12 -s 3
23pydiq-YJ?(
原文地址:https://www.cnblogs.com/yantou/p/13450115.html