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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构