您的位置:首页 > 运维架构 > Linux

linux初学之8——用户和用户组

2016-03-28 17:02 429 查看
Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和用户口令。用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
a.用户账号的添加、删除和修改。
b.用户口令的管理。
c.用户组的管理。

1、用户和用户组的概念

(1)用户:使用操作系统的人,用户可以属于多个用户组,一个主要组,多个附属组。

用户类型:

    A. 管理员 root:具有所有权限的用户,UID的值为0。

    B. 普通用户:我们正常创建的用户,UID为500~60000。

    C. 系统用户:保障系统运行的用户,一般不提供密码登录系统,如mysql系统用户等,UID为1~499。

(2)用户组:具有相同系统权限的一组用户,不同的用户组可以设置不同的权限。用户组是用户的容器,用户能从用户组继承权限。

用户组类型:

      A. 普通用户组:可以加入多个用户。

      B. 系统用户组:一般加入一些系统用户。

      C. 私有用户组:创建用户的时候,如果没有指明用户组,都会为该用户创建一个同名的用户组。私有用户组其实也是普通用户组的一种。

2、关于用户和用户组的系统文件

/etc/group

/etc/gshadow

/etc/passwd

/etc/shadow





用户组用户名列表为空的时候,只是说明该用户组中可能没有用户,如果组内只有一个默认用户,则可以不在用户名列表中显示。
 
组编号:root的组编号一定是0.
组编号:1-499,是系统预留的,用户创建的组从500开始。
组密码:* "" !
都是空
 
组密码占位符都是x。
 
gshadow中的数据跟group文件中的数据是一一对应的,group文件中有多少条数据,gshadow文件中就有多少条数据。
shadow中的数据跟passwd文件中的数据是一一对应的,passwd文件中有多少条数据,shadow文件中就有多少条数据。
 
linux中的用户名信息和密码信息是放到两个文件中的,原因是用户名信息经常会被读取到,读取权限无须太苛刻;而密码信息属于更加重要的信息,读取频率低,权限要求高。因此放到两个文件中。

3、相关命令
添加组 groupadd [-g] [组编号] 组名称

修改组名称 groupmod -n newname oldname

修改组编号 groupmod -g 组编号 组名称

删除组 groupdel 组名称,删除组之前需要先删除组内用户,否则用户中的配置文件中的组信息就无法对应,成为黑户,后续使用中有权限影响。

添加用户

useradd [-g] [组名称] 用户名

useradd [-d] [个人文件夹] 用户名,如果不指定,则会自动创建/home/目录下创建同名文件夹

usermod -c 备注信息 用户名,给用户添加备注

usermod -l 新用户名 旧用户名 ,修改用户名

usermod -d  个人文件夹 用户名,修改用户的个人文件夹

usermod -g 用户组 用户名,修改用户的所属组

userdel 用户名,删除用户

userdel -r 用户名,删除用户名的同时删除用户的个人文件夹

passwd -l 用户名,锁定用户名

passwd -u 用户名,解锁用户名

passwd -d 用户名,清除用户名密码

在/etc/目录下创建一个nologin文件,就可以阻止root用户以为的其他用户登录服务器。:touch /etc/nologin

4、高级应用

 gpasswd -a 用户名
附属组1,附属组2:将用户添加到附属组中

 newgrp
附属组(用户自己登录执行,其他账号执行无意义,此时附属用户组设有组密码,需要在此输入附属组的密码)
 gpasswd -d 用户名 附属组1,附属组2:将用户从附属组中删除

 useradd -g
主要组 -G
附属组1,附属组2...:创建用户的时候直接指定用户所属的主要组和附属组

 gpasswd
用户组:提示修改用户组密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: