#引言
这篇文章主要介绍Linux中用户和用户组的基础知识;包括如何使用命令创建和删除用户、创建和删除用户组,以及如何有效的管理用户和用户组。
#文章目录
- 0×1.Linux用户信息文件和密码文件
- 0×2.Linux用户组信息文件和组密码文件
- 0×3.Linux用户组管理
-
a.如何创建组
-
b.如何重命名组
-
c.如何删除组
- 0×4.Linux用户管理
-
a.如何添加用户
-
b.如何重命名用户
-
c.如何锁定和解锁用户
-
d.如何删除用户
-
e.修改用户属组
##0×1.Linux用户信息文件和密码文件
当创建一个用户时,用户的账户信息被保存在用户信息文件中,只有root权限才能修改这个文件的内容,非root用户只能读取其中的内容:
#用户账户信息文件在Linux系统"/etc/passwd"文件中,使用vim查看其内容
qing@qingsword.com:~$ vim /etc/passwd
#这一条是root账户的信息
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
#...省略部分输出
#这一条是当前使用的账户信息
qingsword:x:500:500::/home/qingsword:/bin/bash
#账户信息使用":"分隔,各字段内容解释如下:
#username:password:uid:gid:userinfo:home:shell
#拿"qingsword:x:500:500::/home/qingsword:/bin/bash"举例:
#用户名qingsword;密码并非保存在这个文件中所以用"x"代替;uid是用户ID值,root用户的UID=0,系统用户的UID范围是1-499,其他用户的UID为499-4.29E9+(42亿多个);gid是用户的组ID,ID值的分配同UID,qingsword的UID和GID都是500;userinfo是用户信息,一般等于用户名,qingsword的这一项为空;home是用户的家目录,qingsword的家目录是"/home/qingsword";shell是用户加载后执行的shell,一般为/bin/bash
如果有root权限,在这个文件中,将某个用户的UID和GID全部改成0,比如"qingsword❌0:0::/home/qingsword:/bin/bash",这样"qingsword"就有了root权限。
在Linux中,用户的账户信息和密码信息是分开保存的,在查看用户账户信息文件的时候,发现密码部分使用"x"隐藏了,实际上,用户的密码是被加密后保存在"/etc/shadow"这个文件中的,这个文件的权限更加严格,只有root权限才能查看和修改它,非root用户是看不到内容的(或者在普通用户权限下使用sudo命令前缀):
#查看密码文件的内容
[root@localhost~]$ sudo vim /etc/shadow
root:6e5sGDXdfashsdf32:15453:0:99999:7:::
....
qingsword:md03zQ9RmYDhV:15700:0:99999:7:::
#上面省略了部分输出,仅保留了root与,当前账户qingsword的输出,对应的各字段解释如下:
#username:password:lastChg:min:max:warm:inactive:expire:flag
#拿"root:6e5sGDXdfashsdf32:15453:0:99999:7:::"举例:
#username是root
#password是"6e5sGDXdfashsdf32",这是加密后的密码
#lastChg:从1970年1月1日起到上次修改密码所经历的天数
#min:两次修改密码最小间隔,0为无间隔
#max:密码有效天数,99999为永不过期
#warm:口令失效前多少天,系统向用