极客进化岛
技术自由路

【linux】循序渐进学运维-基础篇-文件权限管理

文章目录
权限的基础概念
权限管理命令
1)chmod
举例:
1) 查看文件的权限
2) 授予用户对于etc目录有rwx权限
3) 授予所属组为rwx权限
4) 去掉etc目录的所有者的读写权限
5) 使用二进制的方式授予etc 目录,所有者,所属组,其他用户都为rwx权限
2)chown 命令
举例:
1) 将passwd的所有者和所有组改为xinsz
2) 将passwd的拥有者和群组的另一种方法
3) 只改变passwd的所属组

权限的基础概念

本文我们来讨论一下Linux操作系统中文件的普通权限。
Linux权限是操作系统用来限制对资源访问的一种机制。
权限一般分为三种:

  • [ ] 读
  • [ ] 写
  • [ ] 执行

在Linux操作系统中,每个进程都是以某个身份(用户)来运行的,进程的权限与这个用户的权限一样,用户的权限越大,进程的权限就越大。

这里需要明确,文件的权限主要是针对三类对象进行定义:

owner:属主,u
 group:属组,g
 other :其它,o

每个文件针对上述三个对象,都定义了三种权限:

|权限|对应的操作对象|权限说明

r|文件| 文件的可读指的是可以用grep等类似的命令查看
w|文件|可以写,指的是可以用vim修改或者删除此文件
x|文件|可执行,可以以命令的形式运行
r|目录|可以对此目录使用ls查看所有内容
w|目录|可以在目录中创建文件也可以删除|
x|目录|可以使用cd切换到此目录同时可以查看目录内的详细信息

这里需要单独提一下 权限的二进制与十进制的转换.如下表:

在这里插入图片描述

接下来我们看看权限管理的命令

权限管理命令

1)chmod

作用: 修改权限
用法: chmod mode file
操作符 + 添加权限 - 减少权限 = 直接给一个权限

参数:

-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

举例:

1) 查看文件的权限
[root@zmgaosh zip]# ll 
总用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip

在这个例子中,文件夹etc 的权限为
r: 4
w:2
x:1
rwx =7 r_x = 5 所以etc的权限是755
而文件passwd.zip 的权限为 644

2) 授予用户对于etc目录有rwx权限
[root@zmgaosh zip]# ll  #查看当前目录
总用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
注意目录的权限
[root@zmgaosh zip]# ll etc/
总用量 4
-rw-r--r-- 1 root root 1317 6月  20 15:16 passwd
#查看目录里文件的权限,目前是rw-
[root@zmgaosh zip]# chmod -R u+rwx etc  #授予目录及目录里的内容所有者为rwx的权限
[root@zmgaosh zip]# ll
总用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# ll etc/
总用量 4
-rwxr--r-- 1 root root 1317 6月  20 15:16 passwd #可以看到所有者已经变为 rwx的权限
3) 授予所属组为rwx权限
[root@zmgaosh zip]# ll
总用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# ll etc
总用量 4
-rwxr--r-- 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh zip]# chmod -R g+rwx etc
[root@zmgaosh zip]# ll
总用量 8
drwxrwxr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# ll etc
总用量 4
-rwxrwxr-- 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh zip]# 

结合第二个例子,这个例子就很容易理解了,可以看到文件夹和文件的所属组都变成了rwx

4) 去掉etc目录的所有者的读写权限
[root@zmgaosh zip]# chmod -R u-wx etc
[root@zmgaosh zip]# ll
总用量 8
dr--rwxr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# 

5) 使用二进制的方式授予etc 目录,所有者,所属组,其他用户都为rwx权限
[root@zmgaosh zip]# chmod -R 777 etc
[root@zmgaosh zip]# ll
总用量 8
drwxrwxrwx 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# 

2)chown 命令

作用:将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用 户ID;组可以是组名或者组ID

参数:

  • -c : 显示更改的部分的信息
  • -f : 忽略错误信息
  • -h :修复符号链接
  • -v : 显示详细的处理信息
  • -R : 处理指定目录以及其子目录下的所有文件
  • --help : 显示辅助说明
  • --version : 显示版本

举例:

1) 将passwd的所有者和所有组改为xinsz
[root@zmgaosh etc]# ll
总用量 4
-rwxrwxrwx 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh etc]# chown xinsz:xinsz passwd
[root@zmgaosh etc]# ll
总用量 4
-rwxrwxrwx 1 xinsz xinsz 1317 6月  20 15:16 passwd
## 可以看到 用户组和所有者都变成了xinsz
[root@zmgaosh etc]# 

2) 将passwd的拥有者和群组的另一种方法
[root@zmgaosh etc]# chown root: passwd
[root@zmgaosh etc]# ll
总用量 4
-rwxrwxrwx 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh etc]# 

3) 只改变passwd的所属组
[root@zmgaosh etc]# chown :xinsz passwd
[root@zmgaosh etc]# ll
总用量 4
-rwxrwxrwx 1 root xinsz 1317 6月  20 15:16 passwd
[root@zmgaosh etc]# 
赞(0)
未经允许不得转载:极客进化岛 » 【linux】循序渐进学运维-基础篇-文件权限管理