添加用户
1.useradd命令
格式:useradd [选项] 用户名
功能:添加用户账号或更新创建用户的默认信息。
常用选项说明:
-n 用于禁止系统建立与用户名同名的用户组。
-s 设置用户的登录Shell,默认为/bin/bash。
-g 组群名 定义用户默认的组名或组号码,该组在指定前必须存在。
-G 组群列表 设置新用户到其他的组中去。
-u UID 指定用户ID,不使用系统默认的设置方式。
-l 参数设置用户名。
-d 路径 用于取代默认的/home/username主目录。
-e 日期 禁用账号的日期,格式为YYYY-MM-DD。
-f 天数 口令过期后,账号禁用前的天数,若指定为1,则口令过期后,账号将不会禁用。
例如:
1.按照默认值新建用户user1。
[root@localhost ~]# useradd user1
[root@localhost ~]# su user1
[user1@localhost root]$ su
Password:
[root@localhost ~]#
使用useradd命令建立新账号时会用到一系列预先定义好的默认设置,包括用户组名、用户ID编号、登录子目录,以及登录Shell等。系统将在/home目录下新建与用户同名的子目录作为该用户的主目录。用户默认的登录Shell为Bash。
2.增加用户user1,附属组设置为root组。
[root@localhost ~]# useradd -G root user1
useradd: user user1 exists
以上useradd命令完成了如下操作:向/etc/passwd、/etc/shadow、/etc/group中写入用户信息;建立用户主目录/home/user1。
2.passwd命令
格式:passwd [选项] [用户名]
功能:设置或修改用户的口令,以及口令的属性。
常用选项说明:
-d 用户名 删除用户的口令,则该用户账号无需口令就可登录系统。
-l 用户名 暂时锁定指定的用户账号。
-u 用户名 解除指定用户账号的锁定。
-S 用户名 显示指定用户账号的状态。
例如:
1.在系统中添加用户user1后,为了让该用户使用系统,需为用户设置口令。
[root@localhost ~]# passwd user1
Changing password for user user1.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
设置密码为:123
系统会提示用户输入密码,并提示输入确认。当2次密码一致时,密码设置成功。用户使用这个密码登录后可修改登录密码,执行passwd命令即可。不过系统会要求用户首先输入原先的密码,输入正确后才能进行密码的修改。
这样可用user1进行登录:
[user1@localhost ~]$ su
Password:
[root@localhost user1]# cd ~
[root@localhost ~]#
2.删除用户user1的口令。
[root@localhost ~]# passwd -d user1
Removing password for user user1.
passwd: Success
若要删除用户的口令,也可编辑/etc/passwd文件,清除指定用户账号口令字段的内容即可。
3.锁定用户user1的口令。
[root@localhost ~]# passwd -l user1
锁定用户口令后,用户登录时,即使输入正确的口令仍将出现“Login incorrect”的提示信息。
4.解除用户账号user1的锁定。
[root@localhost ~]# passwd -u user1
同样,超级用户可直接编辑/etc/passwd文件,在指定用户账号所在行前加上“#”或“*”符号使其成为注释行,该用户账号即被锁定。去除“#”或“*”符号后,用户账号就可恢复使用。
删除用户
格式:userdel [选项] 用户名
功能:删除指定的用户账号,只有超级用户才可使用该命令。
常用选项说明:
-r 删除用户时删除用户的主目录及其其中的所有内容,若不加此选项,则仅删除此用户账号。
例如:
删除用户账号user1及其主目录。
[root@localhost ~]# userdel -r user1
userdel: user user1 is currently logged in
一般,用户只有对自己主目录的写权限,主目录被删除后,其相关的文件也被删除。但有时系统对用户开放了其他目录的写权限,删除用户时非用户主目录下的用户文件并不会被删除,这时必须使用find命令来搜索删除这些文件。
[root@localhost ~]# userdel -r user1
[root@localhost ~]# su user1
su: user user1 does not exist
利用find命令中的-user和-uid选项可很方便地找到属于某个用户的文件。
[root@localhost ~]# find / -user user1
或
[root@localhost ~]# find / -uid user1
上述命令是从根目录开始查找系统中所有属于用户user1的文件。
修改用户信息
格式:usermod [选项] 用户名
功能:修改用户账号信息。可修改的信息与useradd命令所添加的信息一致,包括用户主目录、私有组、登录Shell等内容。只有超级用户才可使用该命令。
该命令使用的参数和useradd命令使用的参数一致,这里不再一一描述。
例如:
1.改变用户账号名,将user1改为user2。
[root@localhost ~]# usermod -l user1 tt1
[root@localhost ~]# su user1
[user1@localhost root]$ su
Password:
[root@localhost ~]# su tt1
su: user tt1 does not exist
2.将用户student的属组改为work,并把student的ID改为5500。
[root@localhost ~]# usermod -g work -u 5500 student
注意:在使用usermod命令过程中,不允许改变已登录用户的账号信息。