Linux用户与用户组管理

多用户操作系统的安全性:与Windows相比安全性更高,只要设置下文件权限,其他用户都不能看到。

Linux的单用户多任务:比如我们登陆用户听音乐,聊天,制图等这是用户为了完成任务而运行的程序,这就是单用户多任务。

Linux的多用户,多任务:就是比如说我们很可能是很多用户同一个时间登陆同一个系统中,但并不是所有的用户都要作同一件事,所以这个就是多用户、多任务。

用户的角色区分:在Linux系统中,因为角色不同,权限和所完成的任务也不同。用户的角色是用过UID识别的。 Root用户是权限最高,虚拟用户是伪用户,不具有登陆系统能力。

Linux用户与用户组管理
用户(user)的概念
通过命令cat/etc/passwd查看配置文件
第一字段:账号名称。
第二字段:口令密码。
第三字段:用户ID(UID)
关于UID的相关知识
第四字段:组ID(GID)
第五字段:用户名全称
第六字段:用户根目录
第七字段:用户所用SHELL
普通用户从500到6万 ,有限制
伪用户有很多,这是方便多用户多任务的操作。 限制了本机的登陆。
系统用户UID从0开始 UID最小值500,最大值6W
GID同样的。通过命令符 cat /etc/login.defs查看
Linux用户与用户组管理

Linux用户与用户组管理
通过命令cat /etc/shadow查看配置文件
第一字段:登陆名
第二字段:密码
第三字段:上次修改口令的时间
第四字段:两次修改口令间隔最少的天数
第五字段:两次修改口令时隔最多的天数
第六字段:提前多少天警告用户口令将过期
第七字段:在口令过期之后多少天禁用此用户
第八字段:用户过期日期
第九字段:保留字段

通过命令cat /etc/group查看配置文件
第一字段:用户名称
第二字段:用户组密码
第三字段:群组ID,关于GID的相关知识
第四字段:用户列表
Linux用户与用户组管理
因为我没有用户,所以用户列表为空白。如果有字段是空白或者0的,一般都是没有这个文件或者用户。如果是多个用户列表的话会用逗号隔开。

通过命令cat /etc/gshadow查看配置文件
第一字段:用户组
第二字段:用户组密码
第三字段:用户组管理者
第四字段:组成员
Linux用户与用户组管理空白为这个用户组密码是没有的,感叹号也是同样的意思。

检查用户当前身份 who、id
who列出当前在线的用户
who命令主要用于查看当前在线上的用户情况。
who命令的常用命令格式和常用选项如下:
#who (参数)
常用参数
-a 显示所有用户的所有信息
-m显示运行该程序的用户名,和“who am l”的作用一样
-q 只显示用户的登陆账号和登陆用户的数量,该选项优先级高于其他任何选项
-u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间
-H 显示列标题

id 显示用户的系统信息
Linux用户与用户组管理
who主要用于查看在线上的用户。

添加用户 useradd
也可以使用adduser用来创建新的用户账号,其命令格式:
adduser (-u uid) (-g group) (-d home) (-s shell)
-d 设置新用户的登陆目录
-e 设置新用户的停止日期,日期格式为MM/DD/YY
-f 账户过期几日后永久停权,当值为0时账号则立刻被停权,而当值为-1时则关闭此功能。预设值为-1.
-g 使用新用户加入群组
-G 使新用户加入一个新组。每个群组使用逗号“,” 隔开,不可以夹杂空白字
-s 指定新用户的登陆shell
-u 设定新用户的ID值
Linux用户与用户组管理
输入命令useradd 用户名 -u uid -d 家目录 创建成功之后可以通过命令cat /etc/passwd查看用户属性

创建好用户之后需要通过命令passwd设置和修改用户密码
Linux用户与用户组管理
删除用户userdel
Userdel命令用来删除已经存在的用户及相关的文档,其命令格式如下:
userdel (参数)用户名
userdel 命令的常用参数:
-r 将用户目录下的文档一并删除。在其他位置上的文档也将一一找出并删除。
Linux用户与用户组管理
删除之后passwd文件的内容也会随之变化。

新建组群 groupadd
groupadd
命令用来建立新的用户组,其命令格式如下:
groupadd (参数) (用户名称)
常用参数有
-g:GID值。除非使用-o参数不然该值必须是唯一,不可相同,数值不可为负。
-f:新增的一个已经存在的群组账号,系统会出现错误讯息然后结束 groupadd 。
Linux用户与用户组管理
输入命令groupadd 组名创建好用户组之后通过命令cat /etc/group查看文件属性会发现组群已经创建完毕。

删除群组groupdel
Groupdel命令用来删除已经存在的用户组,其命令格式如下:
groupdel 组名
同userdel类似,如果有任何一个组内的用户在上线,就不能移除该用户组,因此,如果组内有用户在线的话,最好先移除该用户,然后在删除该用户。
Linux用户与用户组管理
输入命令groupdel 组名删除用户组后查看配置文件发现已经没了。

修改用户信息usermod
usermod命令用来修改用户信息,其命令格式如下:
usermod (参数) (用户名)
常用参数
-d更新使用者新的登陆目录
-e设置新用户的停止日期,日期格式为MM/DD/YY
-f账户过期几日后永久停权。当值为0时账号则立刻被停权。而当值-1时关闭此功能。预设值为-1.
-g更新使用者新用户加入群组
-G 定义使用者为一堆groups的成员,每个群组使用“??”隔开,不可以夹杂空白字
-l 变更用户登陆时的名称,同时使用者目录名也会跟着更动成新的名称
-s 指定新用户Shell
-u 用户ID值,必须为唯一的ID值,用户目录树下所用的文档目录其userID会自动更变。

Groumod- 修改群组
Groumod命令用来修改组的信息,其命令格式如下:
Groumod (-g gid) (-o) (-n group_name) group
-g gid 群组ID值,必须唯一的ID值,除非用-o选项数字不可为负值。预设为最小不得小于999而逐次增加。0~499传统上是保留给系统账号使用,如果有档案使用旧的群组ID,而这时候新增的群组ID恰好与旧的相同,这样的话要手动改下这些档案的群组ID
-n group_name 更改群组名

随机生成密码 mkpasswd
mkpasswd命令 是make password的简写。可以随机生成字符串。系统默认没有这个命令,所以需要安装一个expect软件包。
常用参数
-s指定特殊字符的个数
-d指定数字的个数
Linux用户与用户组管理
使用yum命令安装软件包
Linux用户与用户组管理
用这个随机字符串作为密码能有效的防止他人登录用户,只不过它不方便记忆,要有效的把密码记录好才行。

切换用户su
Linux用户与用户组管理
命令su的格式为su (-) 用户名,后面可以跟-,也可以不跟,跟了的话就进入用户的家目录,不跟的话则默认root目录

命令sudo
使用sudo命令执行一个只有root才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root密码,而是用户自己的密码,默认情况下只有root用户能使用sudo命令,普通用户想要使用sudo的话则需要使用visudo命令编辑相关配置文件/etc/sudoers。如果没有visudo这个命令,则使用命令yum install -y sudo安装。
Linux用户与用户组管理
通过命令 visudo -f /etc/sudoers修改相关配置文件,第一段为用户;第二段ALL指所有主机,(ALL)指的是获取哪个用户的身份;第三段设定可以使用sudo的命令有哪些。
Linux用户与用户组管理
由于切换到zjh01账户后当前目录还是/root,zjh01账户没有权限,然而使用命令sudo ls输入zjh01账户自身的密码之后就有权限了。