4.6 任务6 使用常用的账户管理命令
账户管理命令可以在非图形化操作中对账户进行有效管理。
1.vipw
vipw命令用于直接对用户账户文件/etc/passwd进行编辑,使用的默认编辑器是vi。在对/etc/passwd文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。vipw命令在功能上等同于“vi/etc/passwd”命令,但是比直接使用vi命令更安全。命令格式如下:
[root@RHEL6~]#vipw
2.vigr
vigr命令用于直接对组群文件/etc/group进行编辑。在用vigr命令对/etc/group文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。vigr命令在功能上等同于“vi/etc/group”命令,但是比直接使用vi命令更安全。命令格式如下:
[root@RHEL6~]#vigr
3.pwck
pwck命令用于验证用户账户文件认证信息的完整性。该命令检测/etc/passwd文件和/etc/shadow文件每行中字段的格式和值是否正确。命令格式如下:
[root@RHEL6~]#pwck
4.grpck
grpck命令用于验证组群文件认证信息的完整性。该命令检测/etc/group文件和/etc/gshadow文件每行中字段的格式和值是否正确。命令格式如下:
[root@RHEL6~]#grpck
5.id
id命令用于显示一个用户的UID和GID以及用户所属的组列表。在命令行输入id直接按Enter键,将显示当前用户的ID信息。id命令格式如下:
id [选项] 用户名
例如,显示user1用户的UID、GID信息的实例如下所示:
[root@RHEL6~]#id user1 uid=500(user1) gid=500(user1) groups=500(user1)
6.finger、chfn、chsh
使用finger命令可以查看用户的相关信息,包括用户的主目录、启动shell、用户名、地址、电话等存放在/etc/passwd文件中的记录信息。管理员和其他用户都可以用finger命令来了解用户。直接使用finger命令可以查看当前用户的信息。finger命令格式及实例如下:
finger [选项]用户名 [root@RHEL6~]#finger Login Name Tty Idle Login Time Office Office Phone root root tty1 4 Sep 1 14:22 root root pts/0 Sep 1 14:39 (192.168.1.101)
finger命令常用的一些选项如表4-9所示。
表4-9 finger命令选项
用户自己可以使用chfn和chsh命令来修改finger命令显示的内容。chfn命令可以修改用户的办公地址、办公电话和住宅电话等。chsh命令用来修改用户的启动shell。用户在用chfn和chsh修改个人账户信息时会被提示要输入密码。例如:
[user1@Server~]$chfn Changing finger information for user1. Password: Name [oneuser]:oneuser Office []: network Office Phone []: 66773007 Home Phone []: 66778888 Finger information changed.
用户可以直接输入chsh命令或使用-s选项来指定要更改的启动shell。例如用户user1想把自己的启动shell从bash改为tcsh。可以使用以下两种方法:
[user1@Server~]$chsh Changing shell for user1. Password: New shell [/bin/bash]: /bin/tcsh Shell changed.
或
[user1@Server~]$chsh -s /bin/tcsh Changing shell for user1.
7.whoami
whoami命令用于显示当前用户的名称。whoami与“id-un”命令作用相同。
[user1@Server~]$whoami User1
8.newgrp
newgrp命令用于转换用户的当前组到指定的主组群,对于没有设置组群口令的组群账户,只有组群的成员才可以使用newgrp命令改变主组群身份到该组群。如果组群设置了口令,其他组群的用户只要拥有组群口令也可以将主组群身份改变到该组群。应用实例如下:
[root@RHEL6~]# id //显示当前用户的gid uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm), 6(disk),10(wheel) [root@RHEL6~]# newgrp group1 //改变用户的主组群 [root@RHEL6~]# id uid=0(root) gid=500(group1) groups=0(root),1(bin),2(daemon),3(sys),4 (adm), 6(disk),10(wheel) [root@RHEL6~]# newgrp //newgrp命令不指定组群时转换为用户的私有组 [root@RHEL6~]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk), 10(wheel)
使用groups命令可以列出指定用户的组群。例如:
[root@RHEL6~]# whoami root [root@RHEL6~]# groups root bin daemon sys adm disk wheel