组管理
1)groupadd 用于添加一个用户组。
格式:groupadd [-g -o GID] GROUP
其中:
GROUP:是要添加的组名
-g:用于指定 GID,默认为使用当前最大的 GID 加1
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
举例:
1. 添加一个新组 leader
# groupadd leader
# grep leader /etc/group
leader:x:504:
# grep leader /etc/gshadow
leader:!::
2)groupmod 用于修改用户组定义。
格式:groupmod [options] GROUP
其中:
GROUP:为要修改的组账户名
常用选项:
-g GID:重新指派 GID
-n NEW_GROUP:更改组名为 NEW_GROUP
举例:
1. 将 leader 组更名为 leaders
# groupmod -n leaders leader
# grep leader /etc/group
leaders:x:504:
2. 将 leaders 组的 GID 改为 3000
# groupmod -g 3000 leaders
# grep leader /etc/group
leaders:x:3000:
3)groupdel 用于删除系统已存在的组账号。
格式:groupdel GROUP
其中:GROUP 为要删除的组账户名
例如:删除 leaders 组
# groupdel leaders
# grep leaders /etc/group
# grep leaders /etc/gshadow
4)newgrp用于切换用户组。
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,newgrp主要用于在多个用户组之间进行切换,
语法格式为:newgrp <用户组>
例如:将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
# newgrp root
5)gpasswd 管理/etc/group和/etc/passwd
每个用户组都有administrators, members and a passwd
格式:gpasswd [option] GROUP
常见参数说明:
-a, --add user 增加一个用户到group
-d, --delete user 将一个用户移除group
-A, --administrators user,... 设置管理员成员
-M, --members user, ... 设置组成员
例如将chzhao添加到组group:
# gpasswd -a chzhao GROUP
6) groups 查看用户所在的组
格式:groups [用户名]
类似的命令:id
用户管理
1)useradd 用于添加用户账号或设置添加用户使用的默认信息。格式如下:
格式1:useradd [options] LOGIN
格式2:useradd -D
格式3:useradd -D [options]
说明:
格式1:用于添加用户账号,LOGIN为用户登录账号
格式2:用于显示添加用户使用的默认信息
格式3:用于设置添加用户使用的默认信息
添加用户选项:
-u UID 指定新用户的 UID,默认为使用当前最大的 UID加1,此值必须为唯一的ID值,除非用-o选项。
-g GROUP 指定新建用户登录时所属的默认组,或者叫主组。此群组必须已经存在。
-G GROUP1[,GROUP2,…[,GROUPN]]] 指定新用户的附加组
-d HOME_DIR 指定新用户的登录目录
-s SHELL 指定新用户使用的 Shell,默认为 bash
-m 创建新用户的home目录,默认值
-M 不创建新用户的自家目录
使用举例:
1. 创建一个新用户 newuser,同时创建用户home目录
# useradd newuser
2. 创建一个新用户 tom,同时加入附加组中
# useradd -G staff tom
# useradd -s /bin/sh -g group –G adm,root gem
3. 创建一个新用户 webmaster,不创建用户home目录,指定登录目录 /www,同时加入apache附加组中
# useradd -d /www -M -G apache webmaster
2)usermod 用于修改用户帐号。格式如下:usermod [options] LOGIN
其中:
LOGIN:为要修改的用户账号名
options:常用的选项包括
-c, -d, -m, -M, -g, -G, -s, -u以及-o等
,这些选项的意义与useradd
命令中的选项一样,可以为用户指定新的资源值。添加了如下选项:
-a 代表 append, 将用户中而不必离开原有的其添加到附属组,只能与 -G 选项配合使用
-l NEW_LOGIN 修改用户帐号为NEW_LOGIN。
-f 失效日 帐号过期多少天后永久禁用。
-e 过期日 增加或修改用户账户的过期时间。
-L 锁定用户密码,使密码无效。
-U 解除密码锁定。
-e 过期日 增加或修改用户账户的过期时间。
-L 锁定用户密码,使密码无效。
-U 解除密码锁定。
举例:
1. 将 newuser2 添加到组staff 中,同时会离开其他原先所在的组!
# usermod -G staff newuser2
2. 要增加用户 cnzhx 到apache组,可以使用下面的指令
# usermod -a -G apache cnzhx
# id cnzhx
3. 修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
4. 如果要同时将 cnzhx 的主要用户组改为 apache,则直接使用 -g 选项
# usermod -g apache chzhx
# id chzhx
5. 锁定账号 newuser1
# usermod -L newuser1
6. 解除对 newuser1 的锁定
# usermod -U newuser1
3)userdel 用于删除系统已存在的组账号。
格式:userdel [-r] LOGIN
其中:
LOGIN:为要删除的用户账号名
-r:同时删除用户的自家目录和 mail 的假脱机文件
例如:
1. 删除用户 webmaster
# userdel webmaster
2. 删除用户 newuser1,同时删除其自家目录
# userdel -r newuser1
4)passwd 修改用户密码。格式:passwd [option] LOGIN
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。