Linux CentOS 7—— 用户及权限管理

一、管理用户账号

1、用户账号和组账号概述。

1)、用户账号

(1)超级用户 :root:人为的最高权限用户,不是系统的。
(2)普通用户:人为创建的用户。拥有的权限受到限制。
(3)程序用户:人为不能使用。
(4)system :系统认定的最高权限拥有者。
(5)every one ,匿名用户:nobody。

2)、组账号

组:系统用户的集合(权限)
(1)基本组(私有组):伴随着用户的创建而自行创建且与用户同名。
(2)附加组(公共组)

3)、UID和GID

(1)UID (User IDentify):用户标识号
root用户的默认UID值为固定值0,程序用户的UID默认为1~999,普通用户的UID默认值为1000——60000。
(2)GID(Group IDentify):组标识号

2、用户账号文件

1)、/etc/passwd

保存用户名称、宿主目录、登录Shell等基本信息
passwd文件中的配置行格式
在这里插入图片描述

2)、etc/shadow

保存用户的密码、账号有效信息。
shadow的配置行格式。
在这里插入图片描述

3、用户账号管理

1)、添加用户账号

useradd命令
常用命令格式:useradd [选项]… 用户名
常用选项
-u:指定用户UID,要求该UID号码未被其他用户使用。
-d:指定用户的宿主目录为位置(当与-M一起使用时,不生效)
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:指定基本组。
-G:指定附加组。
-M:不建立宿主目录,及时/etc/login.defs系统配置中已设定要建立目录。
-s:指定用户的Shell登录。
常用命令格式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)、设置/更改用户口令

passwd命令
常用格式:passwd [选项]… 用户名
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账号。
-S:查看用户账号状态。
-u:解锁用户账号。
当不指定用户名时,修改当前账号的密码。
echo “123123” | passwd --stdin test01 无需进行交互,创建密码为123123 的用户test01
history 查看历史命令
在这里插入图片描述
history -c 清除历史命令
在这里插入图片描述
在这里插入图片描述
passwd -l、-S、-u的应用
在这里插入图片描述

3)、修改用户账号的属性

usermod命令
常用格式:usermod [选项]…用户名
常用选项
-l:更改用户的登录名称。
-L:锁定用户账号。
-U:解锁用户账号。
-u:指定用户UID,要求该UID号码未被其他用户使用。
-d:指定用户的宿主目录为位置(当与-M一起使用时,不生效)。
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:指定基本组。
-G:指定附加组。
-s:指定用户的Shell登录。
在这里插入图片描述

4)、删除用户账号

userdel命令
常用格式:userdel [-r] 用户名
添加-r 选项时,表示连用户的宿主目录一并删除。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5)、用户账号的初始配置文件

文件来源
新建用户账号时,从/etc/skel目录中复制而来。
主要的用户初始文件配置。在一般情况下都以隐藏文件的方式存在
~/.bash_profile 登录系统时有效加载
~/.bashrc - 登录Shell环境和系统时有效加载
~/.bash_logout 注销时加载
系统环境变量配文件:etc/profile

二、管理组账号

1、组账号文件

与用户账号文件相类似
/etc/group:保存组账号基本信息。
/etc/gshadow:保存组账号的密码信息。
组账号表示形式。

2、添加组账号

1)、groupadd命令

使用groupadd命令添加一个组账号时,需要指定GID时,可以使用-g选项。如下
在这里插入图片描述

2)、添加删除组成员

gpasswd命令
设置组账号密码(极少用)、添加、删除组成员
常用格式:gpasswd [选项]… 组账号名
常用选项
-a:向组内添加一个用户。
-d:从组内删除一个用户成员。
-M:定义组成员列表,以逗号分隔。
在这里插入图片描述
在这里插入图片描述

3)、删除组账户

groupdel命令
常用格式:groupdel 组账户名

3、查询账号信息

1)、groups命令

查询用户所属的组
常用格式:group [用户名]
在这里插入图片描述

2)、id命令

查询用户身份标识
常用格式:id [用户名]
在这里插入图片描述

3)、finger命令

查询用户账号的详细信息
常用格式:finger [用户名]
常用格式:finger [用户名]
在这里插入图片描述

4)、w、who、users命令

查询已登录到主机的用户信息
在这里插入图片描述

三、用户的权限及归属

访问权限
读取 r:允许查看文件内容、显示目录列表。
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录。
可执 x:允许运行程序、切换目录。
归属
属主:拥有该文件或目录的用户账号。
属组:拥有该文件或目录的组账号。

1、查看文件的权限和归属

在这里插入图片描述
文件的详细信息
以“drwxr-xr-x. 2 root root 6 8月 5 2017 tmpfiles.d” 为例
d 目录 - 文件 l 链接文件
rwx 属主 主人
r-x 属组 - 不具备权限
r-x other(其他) 所有人(包括匿名用户)
2 目录下有几个子目录
root 属主
root 属组
6 文件大小 单位字节
8月 5 2017 创建时间
tmpfiles.d 文件名

2、设置文件和目录的权限

chmod命令
常用格式:chmod nnn 文件或目录…
nnn表示3个八进制数
或 chmod [ugoa] [±=] [rwx] 文件或目录…
u、g、o、a分别表示属主、属组、其他用户、所有用户
+、-、=分别表示增加、去除、设置权限
常用选项
R:递归修改指定目录下所有子项的权限。

3、设置文件和目录的归属

chown命令
chown 属主 文件或目录
chown :属主 文件或目录
chown 属主:属组 文件或目录
常用选项
-R:递归修改指定目录下所有文件、子目录的归属。

4、权限掩码

umask是一个反掩码 umask命令 umask作用 控制新建的文件或者目录的权限 默认权限去除umask的权限就为新建的文件或者目录的权限。 umask设置:umask 022 umask查看:umask