Linux基础之用户管理

常见用户管理命令

添加用户

useradd
useradd用来添加新的用户,语法是:
useradd [OPTION] NAME
常用选项如下:

Option 用途
-u UID
-o 配合-u选项,不检查UID的唯一性
-c 添加描述
-d 指定用户家目录
-f 设定密码多少天后过期,0则创建后马上过期
-g 指定用户所属组
-G 指定用户附加组
-M 不创建家目录
-m 创建家目录,用于系统用户
-r 创建系统账户
-s 指定用户shell类型
-p 指定用户口令

newusers
newusers用于批量创建用户,后面跟用户文件,格式应该与/etc/passwd相同

修改用户

usermod
usermod用来修改已有用户的信息,语法是:
usermod [OPTION] NAME
常用选项如下:
-c-d-g-s-u-p选项的意义与useradd中的参数一样

Options 用途
-f 设定非活动期限
-e YYYY-MM-DD用户过期日期
-l 新的名字
-L 锁定用户,在/etc/shadow密码栏增加"!"
-U 解锁
-G 新附加组,原来的附加组会被覆盖,若要保留原来的附加组,则要同时使用-a选项

chsh
usermod -s 命令相同,用来修改用户登录时使用的shell类型

删除用户

userdel
userdel用来删除用户,语法是:
userdel [OPTION] NAME
常用选项:

Options 用途
-r 同时删除家目录,不带此选项删除用户时不会删除用户家目录
-f 强制删除用户,即使正在登陆使用中的用户也可删除

修改口令

passwd
passwd可以用来修改口令信息,语法是:
passwd [OPTION] USERNAME
常用选项如下:

Options 用途
-l 锁定口令,这会禁用账号
-u 解锁口令
-d 删除口令
-f 强制用户下次登陆必须修改口令
-e 强制用户下次登录改密码
-n 指定最短使用期限
-x 指定最大使用期限
-w 提前几天开始warning
-i 非活动期限
--stdin 从标准输入接收密码
不加参数即修改当前登陆用户的口令

chpasswd
chpasswd可以用来批量修改用户密码信息,可以输入命令以交互式方式依次输入用户名和密码对,也可以使用管道接受其他输入,例如: echo "user:password" | chpasswd
chage
passwd命令的一部分动能类似,用来管理用户口令的时间相关的值

常见用户组管理命令

  1. 添加用户组
    groupadd 可用来增加新用户组,语法是:groupadd [OPTION] GROUPNAME, -g 指定用户组的GID号,加上-o可忽略GID唯一性

  2. 删除用户组
    groupdel 可用来删除用户组,语法是:groupdel [OPTION] GROUPNAME

  3. 修改用户组信息
    groupmod 可用来修改用户组信息,语法是:groupmod [OPTION] GROUPNAME, -g 指定GID,同样可以用-o忽略唯一性, -n 将用户组名字改成新的名字

  4. 用户组口令修改
    gpasswd 可以用来修改设置组口令,设置群组管理员代替root进行群管理,包括添加、删除用户的功能,基本格式如下:gpasswd OPTIONS GROUPNAME

Options 用途
Null 选项为空时,表示给群组设置密码,仅 root 用户可用。
-A user1,... 设置 user1,... 等用户为群组的管理员,仅 root 用户可用。
-M user1,... 将 user1,... 加入到此群组中,仅 root 用户可用。
-r 移除群组的密码,仅 root 用户可用。
-R 让群组的密码失效,仅 root 用户可用。
-a user 将 user 用户加入到群组中,群组管理员使用
-d user 将 user 用户从群组中移除, 群组管理员可用
  1. 更改查看组成员
    groupmems 可以用来更改和查看组内成员,使用场景不多。

用户和用户组数据库文件查看

getent 用来察看系统的数据库中的相关记录, 例如 getent passwd, getent gshadow

实例

创建用户gentoo,附加组为binroot,默认shell/bin/csh,注释信息为 "Gentoo Distribution"

[root@436f5bf59c65 /]# useradd -s /bin/csh -c "Gentoo Distribution" -G bin,root gentoo
[root@436f5bf59c65 /]# echo $?
0
[root@436f5bf59c65 /]# getent passwd gentoo
gentoo:x:1000:1000:Gentoo Distribution:/home/gentoo:/bin/csh
[root@436f5bf59c65 /]# groups gentoo
gentoo : gentoo root bin

你可能感兴趣的:(Linux基础之用户管理)