CentOS用户和组管理

一.组管理

1. 添加用户组

groupadd


2. 删除用户组

groupdel


3. 修改用户组

groupmod


4. 切换用户组

newgrp <groupname>

如果一个用户同时属于多个用户组,可以用newgrp命令切换至目的组,以便能够拥有该组的权限。


5. 查看所有组

所有组其实就是/etc/group文件的内容做一些过滤。

cat /etc/group | awk -F: '{print $1}'


6. 查看用户所在组

groups <username>


二.用户管理

1. 添加用户

useradd <username> -d <path> -m-g –G –p

常用的就是上面几个参数,意思分别为:

-d:指定用户主目录。如果此目录不存在,同时使用-m就会创建此目录。

-m:创建用户主目录

-g:用户所属组ID

-G:用户所属组名

-p:登录密码。注意这个登录密码不是明文,是指加密后的密码。


e.g.

useradd testuser –m –G mygroup

将会创建一个testuser的用户,并自动创建/home/testuser的用户主目录,并将用户添加至mygroup组中。


2. 删除用户

userdel –f –r <username>

-r:删除用户主目录以及邮箱中的邮件

-f:强行删除文件,即使属主不是该用户


3. 修改用户

usermod <username> -d <path> -m-g –G –p

参数意思与useradd大致相同


4. 用户密码

passwd <username> :修改密码

passwd –d <username> :命令将用户的密码删除,即下次登录无须密码。

passwd –l <username> :锁定用户,使其无法登录



三.文件属主管理

1. 更改属主

chown –R <username>.<groupname>file

-R:表示递归更改


e.g.

chown –R testuser.newgroup testpath

上面的命令将testpath路径下的所有文件的拥有者都改为testuser,拥有组都改为newgroup。


2. 设置文件掩码

umask [a1a2a3]

用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。

a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。

umask 022 : 表示设置不允许同组用户和其他用户有写的权限。

umask : 显示当前的默认生成掩码。