用户
Linux系统是一个多用户多任务的分时操作系统,任何要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
用户账号管理
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理
- 用户组的管理
用户账号的添加、删除与修改
添加用户
添加用户账号指的是在系统中创建一个新账号,其实就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等,为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。添加新的用户账号使用useradd命令,其语法如下:
useradd [ 选项 ] [ 用户名 ]
[ 选项 ] 参数说明:
- -c:指定一段注释性描述。
- -d:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g:指定用户所属的主用户组。
- -G:指定用户所属的附加组。
- -s:指定用户的登录Shell。
- -o:--non-unique,允许使用重复的 UID 创建用户账户。
- -u:指定用户的用户号。如果同时有-o选项,则可以重复使用其他用户的标识号。
-m:创建主页。如果用户的主目录不存在,请创建它。骨架目录中包含的文件和目录将被复制到主目录。如果未指定此选项,默认不会创建任何主目录。
[ 用户名 ] 参数说明:指定新账号的登录名。
实例1:新建一个用户tom,其中,-d 和 -m选项用来为登录名tom生成一个主目录 /home/tom(/home为默认的用户主目录所在的父目录)。
实例2:新建一个用户jerry,该用户的登录Shell是 /bin/sh,它属于用户组chen,同时又附加于 root用户组,其中用户组chen是其主组。
[root@localhost tom]# useradd -s /bin/sh -g chen -G root jerry
注:用户账号刚创建时没有口令,被系统锁定,还无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
删除用户
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:
userdel [ 选项 ] [ 用户名 ]
常用的选项是 -r,它的作用是把用户的主目录一起删除。
例如:删除用户tom和在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
[root@localhost chen]# userdel -r tom
修改用户
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod
命令,其格式如下:
usermod [ 选项 ] [ 用户名 ]
[ 选项 ] 参数说明:
- -c:指定一段注释性描述。
- -d:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g:指定用户所属的主用户组。用户的新初始登录组的组名或数字代号。此组必须存 在。用户主目录中,属于原来的主组的文件将转交新组所有。主目录之外的文件所 属的组必须手动修改。
- -G:指定用户所属的附加组。
- -s:指定用户的新登录Shell的名称。将此字段设置为空会让系统选择默认的登录 shell。