​Linux中的用户与组

一、用户与UID

1.用户(User)分为管理员与普通用户

2.对于Linux系统而言,通过UID来界定某用户是属于哪个用户,而不是用户名

3.查看某用户的UID可以通过id命令实现,Centos6.8与7.2系统上的UID部分起始数值有所不同

Centos7.2

Centos6.8

4.无论Centos6.8还是7.2,管理员的UID都为0,普通用户的UID编号为1-65535

5.普通用户可以分为:

系统用户:即系统本身存在的一些用户,但仍然只是属于普通用户,用于支持系统进程及一些服务的启用

UID:1-499(Centos6.8),1-999(Centos7.2)

登录用户:系统使用者后天创建的用户,用于供系统使用者登录,来与操作系统进行交互

UID:500开始(Cetnos6.8),1000开始(Centos7.2)

二、用户与发起进程间的关系

通常我们把运行中的程序称之为进程,某一项进程被用户发起运行后,其所能够访问的资源的权限取决于进程的运行者的身份。

范例:以root用户与admin用户为例,对/etc/shadow文件进行操作。

root用户通过nano命令对/etc/passwd文件进行查看

blob.png

此时通过ps aux命令查看系统进程,可以发现此时nano程序的发起者为root

blob.png

admin用户通过nano命令对/etc/passwd文件进行查看

blob.png

此时通过ps aux命令查看系统进程,可以发现此时nano程序的发起者为admin

blob.png

由此可以发现,对于/etc/shadow这个文件而言,root与admin用户能否对其进行访问,取决于root与admin自身的身份,而与发起的进程并无关系。

三、组与GID

1.组(Group)分为管理员组与普通组

2.对于Linux系统而言,通过GID来判断某用户属于哪个组,而不是组名

3.Linux中组的类别:

3.1主组(用户的主要组)

3.1.1用户必须属于一个并且只能属于一个主组

3.1.2新用户在建立的时候,如果没有指定主组的话,默认主组为私有组(即组名与用户名相同的组),私有组有且只有一个用户(即新用户自身)

3.2辅助组(即用户的附加组)

3.2.一个用户可以不属于辅助组,也可以属于多个辅助组

4.普通用户组可以分为: 

系统用户组:即系统用户的所属组,

GID:1-499(Centos6.8),1-999(Centos7.2)

登陆用户组:即登录用户的所属组,

GID:500开始(Cetnos6.8),1000开始(Centos7.2)

四、用户和组的配置文件

用户配置文件:/etc/passwd

用户密码配置文件:/etc/shadow

组配置文件:/etc/group

组密码文件:/etc/gshadow

1.用户配置文件:/etc/passwd中的字段信息如下:

该字段由冒号(:)分隔,共7个字段,自左向右解释如下:

用户名:密码:UID:GID:注释;家目录:默认Shell类型

2.用户密码配置文件:/etc/shadow中的字段信息如下:

该字段由冒号(:)分隔,共8个字段,自左向右解释如下:

登录用户:用户密码:密码最近一次被更改的时间(从1970.1.1开始算起的天数):密码再过几天允许变更:密码再过几天必须更改:密码到期前几天提醒用户:密码过期几天后帐号将被锁定:帐号几天后失效(从1970.1.1开始算起的天数)

3./etc/passwd中对于用户的密码,加密算法默认为sha512,可以被手动更改,命令为authconfig –passalgo=算法 –update

例如:更改默认的sha512加密算法为md5

可以看到,用户密码的加密方式由sha512更改为md5,此时新建一个新用户user15,为其设置密码后,查看/etc/shadow文件,user15的密码密文为$1开头,并且密文长度大幅缩短,而更改密码加密方式之前所创建的admin用户的密码密文为$6开头,且密文长度较长。

4.组配置文件:/etc/group中的字段信息如下:

该字段由冒号(:)分隔,共4个字段,自左向右解释如下:

组名称:组密码:GID:以当前组为辅助组的用户列表(通过逗号隔开)

5.组密码文件:/etc/gshadow中的字段信息如下:

该字段由冒号(:)分隔,共4个字段,自左向右解释如下:

组名:组密码:组管理员列表:以当前组为辅助组的用户列表(分隔符为逗号)

五、用户管理命令

1.useradd 新建用户

选项:

-u  指定新建用户的UID

-g  指定新建用户的主组

-c  指定新建用户的注释信息

-d  指定新建用户的家目录

-s  指定新建用户的默认shell

-G  指定新建用户的辅助组

语法格式:useradd 选项 用户名

示例:新建一个用户,用户名为user50,且uid为1050,主组为testgroup,注释信息为testuser,家目录为/home/user50,默认shell为/bin/bash,辅助组为root

-N  不创建与用户名同名的私用组作为新建用户的主组,而是用user组作为主组

示例:新建一个用户user51,将user组作为其主组

-r  创建系统用户(即UID小于500-Centos6,UID小于1000-Centos-7)

示例:新建一个用户user52,将其创建为系统用户

Centos7.2

Centos6.8

2.系统对于新创建用户的各项设置有默认值设定,其存储路径为/etc/default/useradd文件

使用cat /etc/default/useradd 或useradd -D都可查看默认设置

修改默认设置如下:

范例:修改默认设置中的默认SHELL类型为/bin/csh

     

3.usermod 修改用户

语法格式:usermod 选项 用户名

选项:

-u  修改已经存在的用户的UID

-g  修改已经存在的用户的主组

-c  修改已经存在的用户的注释信息

-d  修改已经存在的用户的家目录

-s  修改已经存在的用户的默认shell

-G  修改已经存在的用户的辅助组

-l  修改已经存在的用户的用户名

范例:修改user52的用户名为user53

-L  锁定该用户,在其/etc/shadow的对应条目上的密码字段中增加!

范例:将用户user51锁定

-U  解锁该用户,在其/etc/shadow的对应条目上的密码字段中减少!

范例:将用户user51解锁

4.userdel 删除用户

语法格式:userdel 选项 用户名

选项:

-f  强制删除某用户(即使目标用户仍在登录,也将被强制删除,包括家目录与邮箱目录)

-r  移除某用户(此操作将会导致家目录和邮箱目录等目标用户的有关信息都被移除) 

5.id命令 查看用户相关ID信息

语法格式:id 选项 用户名

选项:

-u 查看指定用户的UID

-g 查看指定用户的起作用的GID

-G 查看指定用户的所有GID

-n 通常结合-G、-g来使用,输出指定ID的名字

6.passwd命令 设置用户密码 

语法格式:passwd 选项 用户名

注意:

1.修改自身密码,只需切换到目标用户,直接执行passwd即可

2.修改其他用户密码,只有root用户有权限,普通用户没有权限修改非自身的密码

选项:

-l  锁定指定用户

范例:锁定user51用户

-u  解锁指定用户

范例:解锁user51用户

注意:锁定的意思即为

-e  强制该用户下次登陆时必须修改密码

范例:指定admin用户在下次登陆时必须修改密码

-n  指定某用户密码的最短使用期限

-x  指定某用户密码的最大使用期限

-w  指定某用户的密码过期前提前多少天进行警告

六、组管理命令

1.groupadd:创建新组

语法格式:groupadd 选项 组名

选项:

-g  指定GID

-r  创建系统组(即GID<500-Centos6,GID<1000-Centos7)

2.groupmod:修改已存在的组

语法格式:groupmod 选项 组名

选项:

-n  修改已存在组的名字

-g  修改已存在组的GID

3.groupdel:删除组    

语法格式:groupdel 选项 组名

4.gpasswd 更改组密码

语法格式:gpasswd 选项 组名

选项:

-a  将指定用户添加至指定组中

-d  从指定组中移除指定用户

-A  将指定用户加入到组管理员列表中

5.newgrp命令 临时将指定组作为当前用户的主组

语法格式:newgrp 组名

注意:如果用户本不属于此组,则需要输入组密码

6.groupmems 更改与查看组成员

语法格式:groupmems 选项 行为

选项:

-g 指定某组

行为:  

-a  指定用户加入某组 

-d  从组中删除指定用户

-p  从组中清除所有成员 

-l  显示组成员列表

7.groups 用户 该命令可以查看用户所属组的列表

七、用户切换命令

通过su命令的两种方式来实现

  1. su 用户名:非登陆式切换,不会读取用户的配置文件,不改变当前工作目录

  2. su – 用户名:登录式切换,读取目标用户的配置文件,并切换至家目录,属于完全切换

注意:su命令在使用时由root用户切换至其他用户无需密码,普通用户互相切换时需要密码

原创文章,作者:Koinlers,如若转载,请注明出处:http://www.178linux.com/31257

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code