linux权限管理

权限基本介绍

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
第一列共10位

0-9 位说明:

第 0 位确定文件类型(d, - , l , c , b)
d 是目录,相当于 windows 的文件夹
- 代表是普通文件(.txt)
l 是链接,相当于 windows 的快捷方式
c 是字符设备文件,比如鼠标,键盘 ---> /dev/目录下可以看到
b 是块设备,比如硬盘 ---> /dev/目录下可以看到
第 1-3 位确定 该文件的所有者 对该文件的 权限。---User
第 4-6 位确定 该文件所属的组和该组中的用户 对该文件的 权限。---Group
第 7-9 位确定 其他用户(不是所有者,也不是同一组的其他用户) 对该文件的权限 ---Other
rwx权限详解
权限有三种:
r 代表可读(read)
w 代表可写(write)
x 代表可执行(execute)
rwx 作用到文件:
r: 可以读取,查看
w: 可以修改,但是不代表可以删除该文件
删除一个文件的前提条件是 对该文件所在的目录 有 写权限,才能删除该文件.
x: 可以被执行,前提是可执行文件

rwx 作用到目录:
r: 可以读取,可以用 ls 查看目录内容
w: 可以修改, 可以对目录进行 创建+删除+重命名目录
x: 可以进入该目录
文件/目录权限实际案例
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

第一列中 10 个字符 确定不同用户能对文件干什么(权限):
第一个字符代表文件类型: - l d c b
其余字符每 3 个一组(rwx) 读(r) 写(w) 执行(x)

第一组 rwx:文件所有者的权限是 读、写和执行
第二组 rw-:与文件所有者同一组的用户的权限是 读、写但不能执行
第三组 r- :不与文件拥所有者同组的其他用户 的权限是 读不能写和执行

也可以用数字表示对应的权限:
r=4,w=2,x=1
因此 rwx=4+2+1=7
数字可以进行组合

其它说明:
第二列:1 如果是普通文件,直接就是1;
如果是目录,代表该目录下有多少内容(即子目录数+文件数)

第三列:root 该文件/目录的所有者
第四列:root 该文件/目录的所在组
第五列:1213 文件大小(这里是字节)
第六列:Feb 2 09:39 最后修改日期
第七列:abc 文件名
修改权限-chmod
基本说明:
通过 chmod 指令,可以修改文件或者目录的权限。

第一种方式:通过 + 、-、= 变更权限
u:所有者
g:所在组(同一个组的其他用户)
o:其他人(不同一个组的其他用户)
a:所有人(所有用户)(u、g、o 的总和)

chmod u=rwx,g=rx,o=x 文件/目录名 (该文件/目录的u的权限是rwx,g的权限是rx,o的权限是x)
chmod o+w 文件/目录名 (该文件/目录的o的权限加上w)
chmod a-x 文件/目录名 (取消该文件/目录的a的x权限)
案例演示:
1.给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
chmod u=rwx,g=rx,o=rx abc

2.给 abc 文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc

3.给 abc 文件的所有用户添加读的权限
chmod a+r abc

第二种方式:通过数字变更权限
权限可以用数字代替:r=4 w=2 x=1
chmod u=rwx,g=rx,o=x 文件/目录名
相当于
chmod 751 文件/目录名
rwx=4+2+1=7
rx=4+1=5
x=1

案例演示
要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用给数字的方式实现:
rwxr-xr-x:u-rwx g=r-x o=r-x
chmod 755 /home/abc.txt
修改文件/目录的所有者-chown
基本介绍
chown newowner 文件/目录 (修改所有者)
chown newowner:newgroup 文件/目录 (同时修改所有者和所在组)

选项:-R 如果是目录 则使其下所有子文件或目录递归生效

案例演示
1.请将 /home/abc.txt 文件的所有者修改成 tom
chown tom /home/abc.txt

2.请将 /home/test 目录下所有的文件和目录的所有者都修改成 tom
chown -R tom /home/test

R:Recursive递归

修改文件/目录的所在组-chgrp
chgrp newgroup 文件/目录 (改变所在组)

案例演示:
1.请将 /home/abc.txt 文件的所在组修改成 shaolin (少林)
groupadd shaolin
chgrp shaolin /home/abc.txt

2.请将 /home/test 目录下所有的文件和目录的所在组都修改成 shaolin(少林)
chgrp -R shaolin /home/test

posted @   chen青草蛋糕  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示