当前位置

5.3.4 帐户管理命令

主标签

[b]5.3.4 帐户管理命令 [/b]

[b]1、useradd 添加用户命令。[/b]



命令格式:[b]#useradd [[选项]] [/b]



常用选项:

[list]
[*]-d,设置新用户的登录目录,默认是/home/。
[*]-e,设置新用户的使用截止日期,日期格式为:MM/DD/YY。
[*]-g,使新用户加入群组。
[*]-G,使新用户加入一个群组。每一个群组使用逗号隔开,中间不能有空格。
[*]-s,指定新用户登录的终端(shell)。
[*]-u,设定新用户的ID值。
[/list]


命令使用说明:

成功创建一个用户帐号后,在/etc/passwd文件中就会增加一行有关该用户的信息,这行信息的格式如下被冒号分开成七个部
分:[[用户名]]:[[密码]]:[[UID]]:[[GID]]:[[用户身份描述]]:[[用户主目录]]:[[用户登录的终端shell]]

少于500的UID(用户ID号)和GID(工作组ID号)一般都是系统保留,所以,普通用户和组的标识,一般都大于500。



例子:

例子A:创建一个新用户John
命令:#useradd John
这样就成功建立了一个用户名为John的用户,其主目录在/home/John下。



[b]2、passwd 设置和修改用户口令命令。[/b]

命令格式:[b]#passwd [/b]



常用选项:无



命令使用说明:

只有用户自己和超级管理员可以修改密码,普通用户之间不能相互更改密码。在Linux下输入密码时,并没有回显,所输入字符
是看不见的,所以输入时不要认为没成功输入。新建的用户也必须用这个命令设置密码后才能使用该用账号登录系统,否则该用户是无法使用的。


例子:

例A:给上面新建的John用户设置密码。
命令:#passwd John
依照系统提示输入两次密码,如果两次输入一样,系统会提示:
passwd:all authentication tokens updated successfully
这表明密码设置(修改)成功。



[b]3、usermod 修改用户信息命令[/b]



命令格式:[b]usermod [[选项]] [/b]



常用选项:

[list]
[*]-d,更改用户的登录目录。
[*]-e,设置用户帐号使用截止日期,日期格式为:MM/DD/YY。
[*]-f,设置用户帐号过期多少天后永久停止使用,当值为0时,表明立刻停止使用权,当值为-1时,关闭这项功能,用户使用权永久有效。默认值是-1。
[*]-g,更改用户所属的工作组。
[*]-G,定义用户同时属于几个工作组成员,每个群组使用"??"隔开,不可以杂有空格。
[*]-l,更改用户登录时的名称,同时也改变使用者原来的主目录名称变成新的名称。
[*]-s,更改用户登录时使用的终端(shell)。
[*]-u,更改用户的ID值,该值必须唯一,同进,该用户主目录下所有的文档userID也会自动改变,但放在这个目录之外的文档则要手动更改。
[/list]


命令使用说明:

如果要更改的用户是在线时,这命令是无法执行,所以要更改之前,必须确认这个用户没在电脑系统上执行任何程序。



例子:

例A:更改上面用户John的登录目录为/home/newJohndir,并把其登录终端(shell)改为/usr/bin/gcc,命令如下:
#usemod -d /home/newJohndir -s /usr/bin/gcc  John
这样,就可以把用户John的主目录路径设置为/home/newJohndir ,登录的Shell设置为/usr/bin/gcc



[b]4、groupadd 新建用户组群命令 [/b]

命令格式:[b]#groupadd [[选项]] [/b]



常用选项:

[list]
[*]-g:GID值,除非使用-o参数,否则GID值必须是唯一的,并且不能为负数。一般的GID值应大于或等于500,0~499是保留给系统帐号使用的。
[*]-f,新增一个已存在的用户组群,提示出错后结束groupadd 。
[/list]


命令使用说明:

用来建立新的用户组群。


例子:

例A:建立一个名为"abcd"的组群。
#groupadd abcd



[b]5、userdel 删除用户命令。[/b]



命令格式:[b]#userdel [[选项]] [/b]



常用选项:

[list]
[*]-r,将用户目录下的文档一并删除,同时该用户放在其它地方的文档也将一一被找出并删除掉。
[/list]


命令使用说明:

userdel不能删除正在线上的用户帐号。因此如果想删除这个用户,必须把该用户在系统上运行的程序终止(kill掉)后才能
进行。



例子:

例A:删除上面用useradd建立的John用户。并将有他的文档删除。
#userdel -r John



[b]6、groupdel 删除用户工作组命令[/b]



命令格式:[b]#groupdel [/b]



常用选项:无

命令使用说明:

如果该用户组内有用户在线上时,就不能移除该用户组,必须把这个用户组内所有在线用户运行的程序杀掉后才进行删除。


例子:

例A:删除上面建立的abcd组群。
#groupdell abcd



[b]7、su 改变用户命令 [/b]



命令格式:[b]#su [/b]



常用选项:无



命令使用说明:

这个命令主要是用来变成超级管理员,也称根用户,便于执行只有具有根用户权限才能进行的操作。比如配置系统等。如果
发出不带用户名的su命令($su),则系统会提示输入根口令,如果输入正确,就可以切换为根用户。如果登录为根用户,则可以用
#su ,成为系统上任一用户,并且不需要任何口令,这根用户的权限真的威力无比。


例子:

例A:如果现在登录为userNO1,要切换为userNO2,可用下面命令。
#su userNO2
依照系统提示输入userNO2的口令,就可以了。想返回userNO1,只要输入exit,回车执行exit命令就可以了。



[b]8、who 查看当前在线用户命令。[/b]



命令格式:[b]#who [[选项]] [/b]



常用选项:

[list]
[*]-a,显示所有在线用户的所有信息。
[*]-m,显示运行该程序的用户名,和"who am i"有同样的功效。
[*]-q,只显示用户的登录帐号及数量。这个选项优先级高于其他的选项。
[*]-u,在登录时间后面显示该用户最后一次对系统操作中今的时间。
[*]-H,显示列标题。
[/list]


命令使用说明:

当使用-H选项后,会列出主要的标题,它的含义为:

USER 用户帐号 LINE 用户使用的终端名 TIME 用户登录时间

IDLE 用户空闲时间 PID 用户登录终端(shell)的进程ID。

如果单独使用who命令,将只显示登录用户名、使用的终端设备和登录到系统的时间。



例子:

例A:执行命令:#who -aH  将输出如下类似的信息。
NAME       LINE         TIME         IDLE          PID COMMENT  EXIT
root     + tty1         Dec 27 07:26 11:17        1074
LOGIN      tty2         Dec 27 06:42              1075 id=2
LOGIN      tty3         Dec 27 06:42              1076 id=3
LOGIN      tty4         Dec 27 06:42              1077 id=4
LOGIN      tty5         Dec 27 06:42              1078 id=5
LOGIN      tty6         Dec 27 06:42              1079 id=6
root     + pts/0        Dec 27 07:27 11:16        1376
root     - pts/1        Dec 27 17:01   .          2050
root     ? pts/2        Dec 27 10:22   ?          1565