写在前面:
博主是一名投身教培事业的标准八零后,叛逆而且追求自由,昵称取自于苏轼的《水调歌头》中的“高处不胜寒”,时刻提醒自己要耐得住寂寞,受的了孤独,在技术的道路上,不畏艰难,勇往直前。
我已经将全部的linux运维体系整理到了gitee上,https://gitee.com/gaosh08/LinuxFamily 欢迎,投稿,交流,后续还会有python系列和java系列。
文章目录
- 1) 查看文件的权限
- 2) 授予用户对于etc目录有rwx权限
- 3) 授予所属组为rwx权限
- 4) 去掉etc目录的所有者的读写权限
- 5) 使用二进制的方式授予etc 目录,所有者,所属组,其他用户都为rwx权限
- 总结
权限的基础概念
本文我们来讨论一下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]#
总结
Linux中,一切皆为文件,权限又分为普通权限,高级权限和默认权限,而今天我们只讨论了普通权限。
需要记住权限针对的三个对象: 属主,属组和其他用户
针对每个对象又有三种权限: 读,写,执行
充分理解UGO三个的含义,以及通过字母和数字来设置权限的方法。
小手一抖,点赞走起,各位的点赞就是胜寒创作的最大动力,我们下篇文章再见!