[Linux] 账户管理命令(二)

时间:2022-05-29 23:22:50

组管理

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 解除密码锁定。
举例:
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 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。