CentOS系统管理_用户和用户组的详解

2020-01-30 15:46:52王振洲

[root@localhost/]# echo "123" | passwd --stdin user3       //设置user3的密码为123,使用--stdin为面交互式导入密码

Changing password for user user3.

passwd: all authentication tokensupdated successfully.

[root@localhost/]# passwd -l user3 //锁定user3账户

Locking password for user user3.

passwd: Success

[root@localhost/]# grep user3 /etc/shadow  //查看锁定账户密码信息,有两个“!”

user3:!!$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhost/]# passwd -S user3 //用-S查看是否被锁定

user3 LK 2014-02-18 0 99999 7 -1(Password locked.)

[root@localhost/]# passwd -u user3 //-u参数为解锁

Unlocking password for user user3.

passwd: Success.

[root@localhost/]# grep user3 /etc/shadow  //解锁之后,该账户密码段没有“!”

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhost/]#

2,用户组的密码gpasswd

gpasswd 组名:进入交互式的密码输入确认。

gpasswd –r 组名:-r选项为移除密码,gpasswd –r 组名为清空该组密码

组密码的用途:主要是一些用户想要加入组,那么需要用到的这个组账户的密码,而这个用户加入的时候也是临时加入的,用exit即可退出该组。

四:用户组成员的添加和删除

1,gpasswd在用户组中的应用

-A :定义组管理员列表(可以在/etc/gshadow文件里查看组管理员和组成员)

-a :添加组成员,每次只能加一个

-d :删除组成员,每次只能删一个

-M :定义组成员列表,可设置多个(为覆盖操作,在定义之后,之前组内用户将被删除;注意在写多个成员列表的时候,用逗号隔开)

示例:

[root@localhost ~]# grep user /etc/gshadow  

user:!::

[root@localhost ~]# gpasswd -a user1 user   //将账户user1加入到user组中

正在将用户“user1”加入到“user”组中

[root@localhost ~]# gpasswd -a user2 user   //将user2加入到user组中

正在将用户“user2”加入到“user”组中

[root@localhost ~]# grep user /etc/gshadow | tail -1    //查看user用户组的成员

user:!::user1,user2

[root@localhost ~]# gpasswd -M stu01,stu02 user //-M参数覆盖添加多个用户

[root@localhost ~]# cat /etc/gshadow | tail -1  //再次查看,user1和user2被覆盖