一、添加用户 useradd
useradd 命令用于创建新用户,格式为useradd [选项] 用户名
。
可以使用 useradd 命令创建用户帐户,使用该命令创建账户时,默认的用户目录在 /home 目录下,默认的shell为 /bin/bash ,而且会默认创建一个与该用户同名的基本用户组。
useradd命令支持丰富的参数,常用参数如下所示:
-d 指定用户家目录
-e 账户到期时间,格式为 YYYY-MM-DD.
-u 指定用户的UID
-g 指定一个初始的基本用户组
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户默认的shell解释器
示例: 创建一个普通用户,指定其家目录,UID 和shell解释器。
[root@localhost disk2]# useradd -d /home/user1 -u 1002 -s /sbin/bash user1
二、更改用户 usermod
如果对已有的用户信息进行修改,可以使用 usermod,使用该目录可以修改用户的主目录和其它信息。
usermod 常用参数如下:
-d 修改用户登录时的主目录,使用该参数时对应的用户目录不会自己建立,需要手动建立
-e 修改账号的有效期
-f 修改在密码过期后多少天关闭该账号
-g 修改用户所属的用户组
-G 修改用户所属的附加组
-l 修改用户账户名称
-L 锁定用户密码使密码无效
-s 修改用户登录后所使用的shell
-u 修改用户ID
-U 解除密码锁定
usermod使用实例:
修改用户 user1 的家目录为 /home/test
# 查看 user1 的家目录为 /home/user1
[root@localhost disk2]# cat /etc/passwd |grep user1
user1:x:1002:1002::/home/user1:/sbin/nologin
# 将user1的家目录修改为 /home/test
[root@localhost disk2]# usermod -d /home/test/ user1
# 查看是否修改成功
[root@localhost disk2]# cat /etc/passwd |grep user1
user1:x:1002:1002::/home/test/:/sbin/nologin
[root@localhost disk2]#
将用户 user1 修改 为 user2:
# 查看 user1
[root@localhost disk2]# cat /etc/passwd |grep user1
user1:x:1002:1002::/home/test/:/sbin/nologin
# 将 user1 修改为 user2
[root@localhost disk2]# usermod -l user2 user1
# 查看是否修改成功
[root@localhost disk2]# cat /etc/passwd |grep user2
user2:x:1002:1002::/home/test/:/sbin/nologin
[root@localhost disk2]#
三、删除用户 userdel
userdel 命令用于删除用户,格式为userdel [选项] 用户名
。
如果我们确认某个用户后面不会再使用,就可以通过 userdel 命令删除该用户的所有信息。在执行删除操作时,该用户的用户目录会默认保留下来,可以使用 -r 参数将其删除。
userdel 参数如下所示:
-f 强制删除用户
-r 删除用户时同时删除用户目录
userdel 示例
删除用户 user2 及其用户目录
[root@localhost disk2]# userdel -r user2
四、更改或设置用户密码 passwd
passwd 命令用于修改用户密码、过期时间、认证信息等,格式为passwd [选项] [用户名]
。
普通用户只能使用passwd命令修改自己的密码,而 root 用户可以修改所有用户的密码而不用验证旧密码。
passwd 常用参数如下:
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
-d 使该用户可用空密码登录系统
-e 强制用户再下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所使用的加密算法名称
passwd 使用示例:
# 修改用户 user2 的密码
[root@localhost disk2]# passwd user2
Changing password for user user2.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost disk2]#
五、切换用户 su
su 命令用于在不同的用户之间切换。超级用户 root 切换到其它用户不需要输入密码,而普通用户间切换或者切换到超级用户 是需要验证密码。su 命令不加任何参数时默认切换到 root 用户。
su 命令常用参数:
-l 登录并改变到所切换的用户环境
-c 执行一个命令,然后退出所切换到的用户环境
su 命令使用示例:
切换到 root 用户,不改变用户环境:
[hk@localhost ~]$ pwd
/home/hk
[hk@localhost ~]$ su root
Password:
[root@localhost hk]# pwd
/home/hk
[root@localhost hk]#
切换到 root 用户,并改变用户环境:
[hk@localhost ~]$ pwd
/home/hk
[hk@localhost ~]$ su - root
Password:
Last login: Sun Jun 17 23:29:08 CST 2018 on pts/0
[root@localhost ~]# pwd
/root
[root@localhost ~]#