目录
5.1.1 useradd命令
useradd
命令用于创建新的用户,格式为“
useradd [
选项
]
用户名”。
可以使用
useradd
命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在/home
目录中,默认的
Shell
解释器为
/bin/bash
,而且默认会创建一个与该用户同名的基本用户组。这些默认设置可以根据表
中的 useradd 命令参数自行修改。
下面我们创建一个普通用户并指定家目录的路径、用户的 UID 以及 Shell 解释器。在下面的命令中,请注意/sbin/nologin,它是终端解释器中的一员,与 Bash 解释器有着天壤之别。一旦用户的解释器被设置为 nologin,则代表该用户不能登录到系统中:
[root@localhost ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin ttzhangxu
[root@localhost ~]# id ttzhangxu
uid=8888(ttzhangxu) gid=8888(ttzhangxu) groups=8888(ttzhangxu)
[root@localhost ~]# tail -1 /etc/passwd
ttzhangxu:x:8888:8888::/home/linux:/sbin/nologin
5.1.2 groupadd命令
groupadd
命令用于创建用户组,格式为“
groupadd [
选项
]
群组名”。
为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同一个组里面,这样便可以针对一类用户统一安排权限。创建用户组的步骤非常简单,例如使用如下命令创建一个用户组 group1
:
[root@localhost ~]# groupadd group1
[root@localhost ~]# tail -1 /etc/group
group1:x:8889:
5.1.3 usermod命令
usermod 命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
Linux 系统中的一切都是文件,因此在系统中创建用户也就是修改配置文件的过程。用户的信息保存在/etc/passwd 文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用 usermod 命令修改已经创建的用户信息,诸如用户的 UID、基本/扩展用户组、默认终端等。usermod 命令的参数以及作用如表所示。
先看一下账户 ttzhangxu 的默认信息,然后将用户 linuxprobe 加入到 root 用户组中,这样扩展组列表中则会出现 root 用户组的字样,而基本组不会受到影响:
[root@localhost ~]# id ttzhangxu
uid=8888(ttzhangxu) gid=8888(ttzhangxu) groups=8888(ttzhangxu)
[root@localhost ~]# usermod -G root ttzhangxu
[root@localhost ~]# id ttzhangxu
uid=8888(ttzhangxu) gid=8888(ttzhangxu) groups=8888(ttzhangxu),0(root)
再来试试用-u 参数修改 linuxprobe 用户的 UID 号码值。除此之外,我们还可以用-g 参数修改用户的基本组 ID,用-G 参数修改用户扩展组 ID。
[root@localhost ~]# id ttzhangxu
uid=8888(ttzhangxu) gid=8888(ttzhangxu) groups=8888(ttzhangxu),0(root)
[root@localhost ~]# usermod -u 6666 ttzhangxu
[root@localhost ~]# id ttzhangxu
uid=6666(ttzhangxu) gid=8888(ttzhangxu) groups=8888(ttzhangxu),0(root)
[root@localhost ~]# tail /etc/group
stapsys:x:157:
stapdev:x:158:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
sshd:x:74:
tcpdump:x:72:
zhangxu:x:1000:
ttzhangxu:x:8888:
group1:x:8889:
[root@localhost ~]# usermod -G 8889 ttzhangxu
[root@localhost ~]# id ttzhangxu
uid=6666(ttzhangxu) gid=8888(ttzhangxu) groups=8888(ttzhangxu),8889(group1)
[root@localhost ~]# usermod -g 8889 ttzhangxu
[root@localhost ~]# id ttzhangxu
uid=6666(ttzhangxu) gid=8889(group1) groups=8889(group1)
5.1.4 passwd命令
passwd
命令用于修改用户密码、过期时间、认证信息等,格式为“
passwd [
选项
] [
用户名
]”。
普通用户只能使用
passwd
命令修改自身的系统密码,而
root
管理员则有权限修改其他所有人的密码。root
管理员在
Linux
系统中修改自己或他人的密码时不需要验证旧密码,这一点特别方便。既然 root
管理员可以修改其他用户的密码,就表示完全拥有该用户的管理权限。passwd 命令中可用的参数以及作用如表所示。
5.1.5 userdel命令
userdel
命令用于删除用户,格式为“
userdel [
选项
]
用户名”。
确认某位用户后续不再会登录到系统中,则可以通过
userdel
命令删除该用户的所有信息。在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用-r
参数将其删除。userdel 命令的参与以及作用如表所示。
[root@localhost ~]# id ttzhangxu
uid=6666(ttzhangxu) gid=8889(group1) groups=8889(group1)
[root@localhost ~]# userdel -r ttzhangxu
userdel: group ttzhangxu not removed because it is not the primary group of user ttzhangxu.
[root@localhost ~]# id ttzhangxu
id: ttzhangxu: no such user