CentOS 7用户权限管理

  • 一、CentOS 7系统权限作用说明
  • 01.CentOS 7普通文件权限划分
  • 02.CentOS 7目录文件权限划分
  • 二、系统权限修改操作
  • 01.数据文件权限单独修改方式
  • 02.数据文件权限批量修改方式
  • 三、系统用户管理分类
  • 01.超级用户
  • 02.普通用户
  • 03.虚拟用户
  • 四、CentOS 7用户管理操作命令
  • 01.创建新的用户信息
  • 02.用户信息设置密码
  • 03.删除存在的用户信息
  • 五、系统用户提权操作
  • 01.实现普通用户到管理员用户的切换
  • 02.实现普通用户权限提权操作


一、CentOS 7系统权限作用说明

01.CentOS 7普通文件权限划分

[kang@just ~]$ ll /etc/hosts
-rw-r--r--. 1 root root 158 Jun  7  2013 /etc/hosts
[kang@just ~]$ ll /bin/cat
-rwxr-xr-x. 1 root root 54080 Aug 20  2019 /bin/cat

以上文件属性中,显示了文件权限信息有:r代表read读权限;w表示write写权限;x表示execute执行权限;-表示未设置权限。
根据以上属性权限一般将权限划分为9个权限位:

编号

权限信息

组成说明

第一个三位

rwx

表示文件的属主信息具有读、写、执行权限

第二个三位

r-x

表示文件的属组信息具有读和执行权限,但不具备写权限

第三个三位

r-x

表示文件的其他用户信息具有读和执行权限,但不具备写权限

【不同权限说明】

编号

权限信息

组成说明

01

r

读权限,表示文件内容信息具有读取查看能力

02

w

写权限,表示文件内容信息具有编写修改能力

03

x

执行权限,表示文件内容代码信息具有执行或运行能力

02.CentOS 7目录文件权限划分

[kang@just ~]$ ll /etc/ -d
drwxr-xr-x. 81 root root 8192 Sep  8 19:34 /etc/
[kang@just ~]$ ll /var/ -d
drwxr-xr-x. 19 root root 267 Sep  3 12:00 /var/

以上目录属性中,显示了文件权限信息有:r表示read读权限;w表示write写权限;x表示execute执行权限;-表示未设置权限。
【不同权限说明】

编号

权限信息

组成说明

01

r

读权限,表示目录中数据信息具有读取查看能力

02

w

写权限,表示目录中数据信息信息具有编写修改能力

03

x

执行权限,表示目录可以进行切换能力

二、系统权限修改操作

01.数据文件权限单独修改方式

// 创建名为kang的txt文件
[root@just ~]# touch kang.txt

// 修改文件权限为000
[root@just ~]# chmod 000 kang.txt

// 查看文件权限信息
[root@just ~]# ll kang.txt
----------. 1 root root 0 Sep  8 20:22 kang.txt


// 单独设置属组权限信息
[root@just ~]# chmod g+rw kang.txt

[root@just ~]# ll kang.txt
----rw----. 1 root root 0 Sep  8 20:22 kang.txt


// 单独设置属主权限信息
[root@just ~]# chmod u+r kang.txt

[root@just ~]# ll kang.txt
-r--rw----. 1 root root 0 Sep  8 20:22 kang.txt


// 单独设置其他用户权限信息
[root@just ~]# chmod o+rx kang.txt

[root@just ~]# ll kang.txt
-r--rw-r-x. 1 root root 0 Sep  8 20:22 kang.txt

02.数据文件权限批量修改方式

  1. 采用字符方式批量设置权限
// 创建名为kang的txt文件
[root@just ~]# touch kang.txt

// 修改文件权限为000
[root@just ~]# chmod 000 kang.txt

// 查看文件权限信息
[root@just ~]# ll kang.txt
----------. 1 root root 0 Sep  8 20:22 kang.txt

// 所有用户信息添加执行权限
[root@just ~]# chmod a+x kang.txt

// 所有用户信息去掉执行权限
[root@just ~]# chmod a-x kang.txt

// 所有用户信息设置权限为具有读和执行权限
[root@just ~]# chmod a=rx kang.txt
  1. 采用数字方式批量设置权限
// 创建名为kang的txt文件
[root@just ~]# touch kang.txt

// 修改文件权限为000
[root@just ~]# chmod 000 kang.txt

// 查看文件权限信息
[root@just ~]# ll kang.txt
----------. 1 root root 0 Sep  8 20:22 kang.txt

// 所有用户信息添加读权限
[root@just ~]# chmod 444 kang.txt

// 所有用户信息添加读、写权限
[root@just ~]# chmod 666 kang.txt

// 所有用户信息添加读、写和执行权限
[root@just ~]# chmod 777 kang.txt

三、系统用户管理分类

01.超级用户

默认是root用户,其中UID和GID均是0。root用户在每台unix/linux操作系统中都是唯一且真实存在的。
通过root可以登陆系统,可以在操作系统中任何命令和文件,拥有最高的管理权限。
在生产环境中,一般会禁止root账号通过SSH远程连接服务器,也可以更改默认的SSH端口,提升系统安全性。

企业工作中,如没有特殊需求,应该尽量在普通用户下操作任务,而不是使用root账户。

02.普通用户

这类用户一般是具有系统管理员root的权限的运维人员或系统管理人员添加的。这类用户可登录系统,但仅具有操作普通用户对应的家目录中的文件及目录的权限。

03.虚拟用户

与真实普通用户区分开来,此类用户最大的特点是安装系统后默认就会存在,且默认情况大多不能登录系统。
但此类用户是系统正常运行过程中必不可少的,其存在的目的是方便系统管理,满足相应的系统进程对文件属主的要求。

UID取值

用户类型

描述说明

0

超级用户

当用户的UID为0时,表示这个账号为超级管理员账号。

如果要新增一个系统管理员账号,只需将该账号UID设置为0。但不推荐此种做法,最好用sudo替代。

1-999

虚拟用户

该范围时保留给系统使用的UID,为了防止人为建立账号的UID和系统UID冲突,并没有其他特殊含义。

除了0之外,所有UID在使用时没有任何区别。

1000-65535

普通用户

普通账户UID范围

四、CentOS 7用户管理操作命令

01.创建新的用户信息

[root@just ~]# useradd kang

[root@just ~]# id kang

02.用户信息设置密码

[root@just ~]# passwd kang

说明:
普通用户在给自身设置密码时,需要考虑密码负载度,必须大于6位,且要有字符和数字组合。

03.删除存在的用户信息

// 仅删除账户
[root@just ~]# userdel kang

// 删除账户及其所有文件信息
[root@just ~]# userdel -r kang

五、系统用户提权操作

01.实现普通用户到管理员用户的切换

【命令说明】
su命令可以在用户之间进行切换,超级用户root向普通用户切换不需要密码验证,其他普通用户之间或者从普通用户切换到root用户,都需要通过密码验证。
【语法格式】

su [option] [user]
su  [选项] [用户名]

说明:
1)若命令后面的用户名省略,则默认代表切换为root用户;
2)从root用户切换到普通用户时,不需要任何密码;
3)从普通用户切换到root用户时,需要输入密码。

【选项说明】

编号

su参数选项

注释说明

01

-,-l

使一个shell成为登录的shell。如果执行su - kang时,表示该用户希望改变的身份为kang,并且使用kang用户对应的环境变量配置

02

-c

切换到一个shell下,执行一个命令,然后退出所切换的用户环境。

03

-m

切换用户时,不需要重置用户环境变量,-p的功能同-m,这个参数为su的默认值,一般很少使用

03

-s

如果/etc/shells允许,则运行指定的shell

【命令实践】

// root用户切换为普通用户kang
[root@just ~]# su - kang

// 普通用户切换为root用户
[kang@just ~]# su -

// 查看当前登录用户
[root@just ~]# whoami

02.实现普通用户权限提权操作

【命令说明】
visudo命令是专门用来编辑/etc/sudoers这个文件的,同时visudo还提供了语法检查等功能。
/etc/sudoers是sudo命令的配置文件。
【语法格式】

visudo [option]
visudo  [选项]

【选项说明】

编号

su参数选项

注释说明

01

-c

手动执行语法检查

【操作实践】

[root@just ~]# visudo