Red Hat Enterprise Linux 6.4网络操作系统详解
上QQ阅读APP看书,第一时间看更新

4.3 任务3 管理用户账户

用户账户管理包括新建用户、设置用户账户口令和用户账户维护等内容。

4.3.1 子任务1 用户切换

在某些情况下,已经登录的用户需要改变身份,即进行用户切换,以执行当前用户权限之外的操作。这时可以用下述方法实现。

(1)注销后重新进入系统。在GNOME桌面环境中单击左上角的“系统”按钮,执行“注销”命令,如图4-1所示。这时屏幕上会出现“确认”对话框,单击“注销”按钮后出现新的登录界面,输入新的用户账号及密码,即可重新进入系统。

图4-1 GNOME桌面环境

(2)运行su命令进行用户切换。Linux操作系统提供了虚拟控制台功能,即在同一物理控制台实现多用户同时登录和同时使用该系统。使用者可以充分利用这种功能进行用户切换。su命令可以使用户方便地进行切换,不需要用户进行注销操作就可以完成用户切换。要升级为超级用户(root),只需在提示符$下输入su,按屏幕提示输入超级用户(root)的密码,即可切换成超级用户。依次单击左上角的“应用程序”→“附件”→“终端”,进入终端控制台,然后在终端控制台输入以下命令。

        [root@RHEL6~]# whoami
        root
        [root@RHEL6~]# su user1       //root用户转换为任何用户都不需要口令
        [user1@RHEL6 root]$whoami
        User1
        [user1@RHEL6 root]$su root     //普通用户转换为任何用户都需要提供口令
        Password:
        [user1@RHEL6 root]$exit        //使用exit命令可退回到上一次使用su命令时的用户
        exit
        [root@RHEL6~]# whoami
        root

su命令不指定用户名时将从当前用户转换为root用户,但需要输入root用户的口令。

4.3.2 子任务2 新建用户

在系统新建用户可以使用useradd或者adduser命令。useradd命令的格式为:

        useradd  [选项]  <username>

useradd命令有很多选项,如表4-4所示。

表4-4 useradd命令选项

【例4-1】 新建用户user1, UID为510,指定其所属的私有组为group1(group1组的标识符为500),用户的主目录为/home/user1,用户的shell为/bin/bash,用户的密码为123456,账户永不过期。

        [root@RHEL6~]# useradd-u 510-g 500-d/home/user1-s/bin/bash-p 123456-f-1 user1
        [root@RHEL6~]# tail -1 /etc/passwd
        user1:x:510:500::/home/user1:/bin/bash

如果新建用户已经存在,那么在执行useradd命令时,系统会提示该用户已经存在:

        [root@RHEL6~]# useradd user1
        useradd: user user1 exists

4.3.3 子任务3 设置用户账户口令

1.passwd命令

指定和修改用户账户口令的命令是passwd。超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。passwd命令的格式:

        passwd  [选项]  [username]

passwd命令的常用选项如表4-5所示。

表4-5 passwd命令选项

【例4-2】 假设当前用户为root,则下面的两个命令分别为root用户修改自己的口令和root用户修改user1用户的口令。

        //root用户修改自己的口令,直接用passwd命令回车即可
        [root@RHEL6~]# passwd
        Changing password for user root.
        New UNIX password:
        Retype new UNIX password:
        passwd: all authentication tokens updated successfully.
        //root用户修改user1用户的口令
        [root@RHEL6~]# passwd user1
        Changing password for user user1.
        New UNIX password:
        Retype new UNIX password:
        passwd: all authentication tokens updated successfully.

需要注意的是,普通用户修改口令时,passwd命令会首先询问原来的口令,只有验证通过才可以修改。而root用户为用户指定口令时,不需要知道原来的口令。为了系统安全,用户应选择包含字母、数字和特殊符号组合的复杂口令,且口令长度应至少为6个字符。

2.chage命令

要修改用户账户口令,也可以用chage命令实现。chage命令的常用选项如表4-6所示。

表4-6 chage命令选项

【例4-3】 设置user1用户的最短口令存活期为6天,最长口令存活期为60天,口令到期前5天提醒用户修改口令。设置完成后查看各属性值。

        [root@RHEL6~]#chage -m 6-M 60-W 5 user1
        [root@RHEL6~]#chage -l user1
        Minimum:        6
        Maximum:        60
        Warning:        5
        Inactive:      -1
        Last Change:           9月01, 2007
        Password Expires:      10月31, 2007
        Password Inactive:      Never
        Account Expires:        Never

4.3.4 子任务4 维护用户账户

1.修改用户账户

管理员用useradd命令创建好账户之后,可以用usermod命令来修改useradd的设置。两者的用法几乎相同。例如,要修改用户user1的主目录为/var/user1,把启动shell修改为/bin/tcsh,可以用如下操作。

        [root@RHEL6~]# usermod -d /var/user1-s /bin/tcsh user1
        [root@RHEL6~]# tail -l /etc/passwd
        user1:x:510:500::/var/user1:/bin/tcsh

2.禁用和恢复用户账户

有时需要临时禁用一个账户而不删除它。禁用用户账户可以用passwd或usermod命令实现,也可以直接修改/etc/passwd或/etc/shadow文件实现。

例如,暂时禁用和恢复user1账户,可以使用以下三种方法实现。

(1)使用passwd命令。

        //使用passwd命令禁用user1账户,利用tail命令查看可以看到被锁定的账户密码栏前面会加上
        [root@RHEL6~]# passwd -l user1
        [root@RHEL6~]# tail -1 /etc/shadow
        user1:! ! $1$mEK/kTgb$ZJI3cdfeSD/rsjOXC5sX.0:13757:6:60:5:::
        //利用passwd命令的-u选项解除账户锁定,重新启用user1账户
        [root@RHEL6~]# passwd -u user1
        Unlocking password for user user1
        passwd: Success

(2)使用usermod命令。

        //禁用user1账户
        [root@RHEL6~]# usermod -L user1
        //解除user1账户的锁定
        [root@RHEL6~]# usermod -U user1

(3)直接修改用户账户配置文件。

可将/etc/passwd文件或/etc/shadow文件中关于user1账户的passwd域的第一个字符前面加上一个“*”,达到禁用账户的目的,在需要恢复的时候只要删除字符“*”即可。

如果只是禁止用户账户登录系统,可以将其启动shell设置为/bin/false或者/dev/null。

3.删除用户账户

要删除一个账户,可以直接编辑删除/etc/passwd和/etc/shadow文件中要删除的用户所对应的行,或者用userdel命令删除。userdel命令的格式为:

        userdel  [-r]  用户名

如果不加-r选项,userdel命令会在系统中所有与账户有关的文件中(例如/etc/passwd, /etc/shadow, /etc/group)将用户的信息全部删除。

如果加-r选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。另外,如果用户使用e-mail,同时也将/var/spool/mail目录下的用户文件删掉。