Linux 用户,组 管理

Linux添加用户

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

添加新的用户账号使用useradd命令,语法如下

useradd [选项] [用户名]

选项

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,能创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则能重复使用其他用户的标识号。
  • -p这个命令是需求提供md5码的加密口令,普通数字是不行的。

示例

创建了一个用户han,其中-d-m选项用来为登录名han产生一个主目录/home/han(/usr为默认的用户主目录所在的父目录)。
useradd -d /home -m han
此命令新建了一个用户han,该用户的登录Shell是/bin/bash,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
useradd -s /bin/sh -g group -G adm,root gem 

删除用户

如果一个用户账号不再使用,从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还要删除用户的主目录

删除一个已有的用户账号使用userdel命令,格式如下

userdel [选项] [用户名]

示例

删除用户han并删除用户文件
userdel -r han

修改用户

修改用户账号就是根据实际情况更改用户(chgrp是针对文件而言)的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,格式如下:

usermod [选项] [用户名]

常用的选项包括 -c,-d,-m,-g,-G,-s,-u,-o等,这些选项的意义和useradd命令中的相同,能为用户指定新的资源值。另外,有些系统能使用如下选项:

  • -l 新用户名 这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
    示例

    此命令将用户han的登录Shell修改为bash,主目录改为/home/z,用户组改为developer。
usermod -s /bin/bash -d /home/z -g developer han
改动用户han所属的组为root这个组
usermod han -g root

查看帐号属性

示例

  • id user1显示user1uidgid ,缺省为当前用户的id信息
  • groups user1显示用户user1所在的组,缺省为当前用户所在的组信息

Linux用户口令的管理

passwd [选项] [用户名]
  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。
    如果默认用户名,则修改当前用户的口令。

Linux用户组的管理

增加一个新的用户组使用groupadd命令。格式如下

groupadd [选项] [用户组]

选项

  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般和-g选项同时使用,表示新用户组的GID能和系统已有用户组的GID相同。
    示例
向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
groupadd group1 
向系统中增加了一个新组group2,同时指定新组的组标识号是101
groupadd -g 101 group2

如果要删除一个已有的用户组,使用groupdel命令,格式如下

groupdel [用户组] 

修改用户组的属性使用groupmod命令。其语法如下:

groupmod [选项] [用户组]
  • -g GID 为用户组指定新的组标识号。
  • -o 和-g选项同时使用,用户组的新GID能和系统已有用户组的GID相同。
  • -n 新用户组 将用户组的名字改为新名字

如果一个用户同时属于多个用户组,那么用户能在用户组之间转换,以便具有其他用户组的权限。用户能在登录后,使用命令newgrp转换到其他用户组,这个命令的参数就是目的用户组 列newgrp root

文章目录