一、linux用户:username/UID
Linux用户分为以下几种
- root用户:UID为0,也称超级用户,权限最高。
- 系统用户:UID为1~999,也称虚拟用户、伪用户、假用户,是系统自身拥有的用户,比如bin、daemon、adm、ftp、mail等,不具有登录Linux系统的能力,但却是系统运行不可缺少的用户。对守护进程获取资源进行权限分配。
- 普通用户:UID为1000~60000,可以登录系统,操作自己目录的内容。
/etc/passwd文件:是Linux系统识别用户的重要文件,所有的用户都记录在该文件中。一行表示一个用户的账户信息,有7个字段,依次为用户名、密码、用户标识号UID、用户所属组号GID、相关注释、用户主目录、用户使用的Shell类型。
密码字段一般为x,这是安全考虑,将加密后的密码数据移到了/etc/shadow中。
/etc/shadow文件:用户密码文件,是/etc/passwd的影子文件,与/etc/passwd是对应互补的,内容包括用户及被加密的密码以及其他/etc/passwd不能包括的信息,比如用户账户的有效期限等。该文件只有root用户可以读取和操作。有9个字段组成:用户名、密码、上次修改密码的时间、两次修改密码间隔的最少天数、两次修改密码间隔的最多天数、提前多少天警告用户密码过期、在密码过期多少天后禁用此用户、用户过期时间、保留字段。
密码字段是经过加密的,如果有些用户该字段开头是“!”,表示该用户不能登录系统。
二、Linux组:GroupName/GID
管理员组:root 0
系统组:1-1000
普通组:1000+
用户组和用户之间属于多对多的关系,一个用户可以属于多个组,一个组也可以包含多个用。
用户主组、附加组:一个用户账户可以属于多个组群,挑一个作为用户的主组,即用户登录系统后属于该组。
/etc/group文件:组及其属性信息,此文件有4个字段,分别为:用户组名、用户组密码、用户组标识号、组内用户列表。
用户组密码:这个字段一般很少使用,Linux系统的用户组都没有密码,即这个字段一般为空。
三、用户和组相关的管理命令
1、用户创建:useradd
-u:UID 修改UID_MIN-UIND_MAX 在/etc/login.defs中
-g:指定GID
-c:comment注释信息
-d:指定用户家目录
-s:指定用户的shell路径
-G GROUP1,GROUP2...指定用户的附加组、
-r:创建系统用户
默认值设定:/etc/default/useradd文件中
2、用户属性修改:usermod
usermod [option] LOGIN
-u:修改UID
-g:修改GID
-G:修改附加组,-a 追加附加组
-s:新的shell
-d:home目录,原有家目录文件不会移动到新目录,如果需要移动需要同时使用-m
-l:修改登入名
3、删除用户:userdel
-r:删除用户家目录及其中的所有文件
4、更改或设置用户密码:passwd
超级用户root可以修改任何用户的密码,普通用户只能修改自己的密码。
passwd username:修改指定用户的密码,修改密码必须之前有密码
passwd:修改当前用户的密码
-l:锁定用户
-u:解除锁定
--stdin:从标准输入接受密码
echo “password” | passwd --stdin Username &> /dev/null
注意: /dev/null 数据黑洞
/dev/zero,吐0
5、组创建:groupadd
-g:指定GID
-r:指定系统组
6、组属性修改:groupmod
-n:新名字
-g:新GID
7、组删除:groupdel Groupname
8、查看用户所在的用户组:id
用户所属的用户组可以通过/etc/passwd或id命令来查看
id命令:显示用户的UID和GID相关信息
id 或 id Username