用户管理

简介

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

而做为管理员,最重要的一环就是帐号管理了。主要工作有以下几个方面:

  • 用户帐号的添加、删除与修改
  • 用户口令的管理
  • 用户组的管理

新建用户

useradd 选项 用户

参数说明:

  • 选项

    • -c comment:指定一段注释性描述。
    • -d:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    • -g:指定用户所属的用户组。
    • -G:指定用户所属的附加组。
    • -s:指定用户的登录Shell。
    • -u:指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户

    • 指定新帐号的登录名

实例:

useradd -d /home/sam -m sam

说明:新建一个名为sam的用户,并为该用户在/home创建一个sam目录做为它的主目录

删除帐号

userdel 选项 用户

实例:

userdel sam

说明:删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

修改帐号

usermod 选项 用户

参数说明:

  • 选项

    • 和前面的新建用户一致
  • 用户

    • 要修改帐号的登录名

实例:

usermod -s /bin/ksh -d /home/z -g developer sam
usermod -G sam1,sam2

说明:将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。当加入多个组时使用-G,组之间用分号分开

用户口令管理

用户管理一项重要的内容就是口令管理,刚创建的用户是没有口令的,但是被系统锁定,是不能使用的,必须为其指定口令,即使是空口令。

passwd 选项 用户

参数说明:

  • 选项

    • -l:锁定口令,即禁用帐号
    • -u:口令解锁
    • -d:使帐号无口令
    • -e:强迫用户下次登录时修改口令

实例:

passwd -d sam

说明:将用户sam指定为空口令,则该用户下次登录时,系统就不再询问口令了。

用户组管理

增加新的用户组

groupadd 选项 用户组

参数说明:

  • 选项

    • -g:指定新用户组的组标识号(GID);
    • -o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

实例:

groupadd -g 101 group1

说明:向系统中增加了一个新组group1,同时指定新组的组标识号是101。如果不指定时,如groupadd group2时组标识号会在当前已有的最大组标识号的基础上加1。

删除用户组

groupdel 用户组

实例:

groupdel group1

修改用户组

groupmod 选项 用户组

参数说明:

  • 选项

    • -g:指定新用户组的组标识号(GID);
    • -o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
    • -n:将用户组的名字改为新名字

扩展

切换用户

su 用户名

实例

su sam  # 切换到sam用户
su      # 切换到root用户

说明:su是switch user切换用户的缩写。由普通用户切换到root用户要输入密码,反之,不需要。

查看用户所在的组

方法一:

groups 用户名

方法二:

vi /etc/group

切换用户组

newgrp root

说明:把当前用户切换为root用户组,前提条件是root用户组确实是该用户的主组或附加组。

参考文献

[1] 鸟哥的私房菜
[2] 菜鸟教程