本文是一篇有关linux用户与用户组的详细教程,内容包括用户和用户组文件、用户密码文件、用户组账号文件、用户与用户组的管理等知识。
1,用户和用户组文件
在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。
由于passwd不再保存密码信息,所以用x占位代表。
复制代码代码如下:
[root@localhost ~]# echo "/bin/false">>/etc/shells
[root@localhost ~]# echo "/bin/true">>/etc/shells
2,用户密码文件
3,用户组帐号文件
4,添加用户
示例:
复制代码代码如下:
[root@localhost ~]# useradd -g student zhangjie
[root@localhost ~]# tail -1 /etc/passwd zhangjie:x:501:501::/home/zhangjie:/bin/bash
添加用户时,若未用-g参数指定用户组,则系统默认会自动创建一个与用户帐号同名的私有用户组。若不需要创建该私有用户组,则可选用-n参数。
复制代码代码如下:
[root@localhost ~]# useradd lijie
[root@localhost ~]# tail -1 /etc/passwd lijie:x:502:502::/home/lijie:/bin/bash [root@localhost ~]# tail -2 /etc/group student:x:501: lijie:x:502: #系统自动创建了名为lijie的用户组,ID号为502
创建用户账户时,系统会自动创建该用户对应的主目录,该目录默认放在/home目录下,若要改变位置,可以利用-d参数指定;对于用户登录时使用的shell,默认为/bin/bash,若要更改,则使用-s参数指定。
复制代码代码如下:
[root@localhost ~]# useradd -d /var/vodup -s /sbin/nologin vodup
[root@localhost ~]# tail -1 /etc/passwd vodup:x:503:503::/var/vodup:/sbin/nologin [root@localhost ~]# tail -1 /etc/group vodup:x:503:
5,设置帐号属性
复制代码代码如下:
[root@localhost ~]# usermod -l lijunjie lijie
[root@localhost ~]# tail -1 /etc/passwd lijunjie:x:502:502::/home/lijie:/bin/bash
从输出结果可见,用户名已更改为lijunjie。主目录仍为原来的/home/lijie,若也要更改为/home/lijunjie,则可通过执行以下命令来实现
复制代码代码如下:
[root@localhost ~]# usermod -d /home/lijunjie lijunjie
[root@localhost ~]# tail -1 /etc/passwd lijunjie:x:502:502::/home/lijunjie:/bin/bash [root@localhost ~]# mv /home/lijie /home/lijunjie
(2)锁定账户
(3)解锁账户
6,删除账户
7,设置用户登录密码 账户登录密码设置后,该账户就可以登录系统了。按ctrl+alt+F2键,选择第2号虚拟控制台(tty2),然后利用lijunjie账户登录,以检验能否登录。
8,锁定/解锁账户密码
9,查询密码状态
复制代码代码如下:
[root@localhost etc]# passwd -S lijunjie
lijunjie LK 2011-03-25 0 99999 7 -1 (密码已被锁定。) [root@localhost etc]# passwd -u lijunjie 解锁用户 lijunjie 的密码 。 passwd: 操作成功 [root@localhost etc]# passwd -S lijunjie lijunjie PS 2011-03-25 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
10,删除账户密码
11,创建用户组
12,修改用户组属性
复制代码代码如下:
[root@localhost ~]# tail -3 /etc/group
student:x:501: lijie:x:502: vodup:x:503: [root@localhost ~]# groupmod -n teacher student [root@localhost ~]# tail -3 /etc/group lijie:x:502: vodup:x:503: teacher:x:501:
(2)重设用户组的GID
复制代码代码如下:
[root@localhost ~]# tail -3 /etc/group
lijie:x:502: vodup:x:503: teacher:x:501: [root@localhost ~]# groupmod -g 504 teacher [root@localhost ~]# tail -3 /etc/group lijie:x:502: vodup:x:503: teacher:x:504:
13,删除用户组
复制代码代码如下:
[root@localhost ~]# groupdel teacher
groupdel: cannot remove the primary group of user 'zhangjie' [root@localhost ~]# userdel -r zhangjie [root@localhost ~]# groupdel teacher [root@localhost ~]# grep teacher /etc/group #没有输出,说明teacher用户组以不存在,删除成功
14,添加用户到指定的组/从指定的组中移除用户
例如,现在将上面创建的lijunjie用户添加到vodup用户组中
复制代码代码如下:
[root@localhost ~]# groups lijunjie
lijunjie : lijie [root@localhost ~]# gpasswd -a lijunjie vodup #添加用户到指定的用户组 Adding user lijunjie to group vodup [root@localhost ~]# groups lijunjie lijunjie : lijie vodup [root@localhost ~]# gpasswd -d lijunjie vodup #从指定的用户组中移除用户 Removing user lijunjie from group vodup [root@localhost ~]# groups lijunjie #查看用户所属的组 lijunjie : lijie
15,设置用户组管理员
复制代码代码如下:
[root@localhost ~]# gpasswd -A lijunjie vodup
[root@localhost ~]# useradd fen [lijunjie@localhost ~]# gpasswd -a fen vodup Adding user fen to group vodup [lijunjie@localhost ~]# groups fen fen : fen vodup [lijunjie@localhost ~]# gpasswd -d fen vodup Removing user fen from group vodup [lijunjie@localhost root]$ gpasswd -d fen fen #试图将fen用户从fen用户组中移除 gpasswd: Permission denied. #操作被拒绝,说明无权对其他用户组进行管理
另外,linux还提供了id,whoami和groups等命令,用来查看用户和组的状态。id命令用于显示当前用户的uid,gid和所属的用户组的列表;whoami用于查询当前用户的名称;groups用于产看指定用户所隶属的用户组。 |