1 Star 0 Fork 0

wfoo00/Linux

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
05_文件权限_实操.c 5.52 KB
一键复制 编辑 原始数据 按行查看 历史
wfoo00 提交于 2024-01-06 15:06 . update 05_文件权限_实操.c.
文件权限
文件信息介绍
drwxrwxr-x. 2 a a 6 Dec 31 02:22 dir
-rw-rw-r--. 1 a a 0 Dec 31 02 : 13 test.txt
如上信息:第一个字符:
- 开头:普通文件
d 开头:目录文件
文件的属性权限:一般有 3
r :
w :
x :可执行权限
如:drwxrwxr-x
除去开头一个 d 表示文件类型,剩下的一般为 9个字符 rwxrwxr-x
3个为一组,分别对应:
【拥有者】【所属组】【other
[rwx] [rwx] [r-x]
[rw- rw- r--]
d rwx rwx r-x
[rwx] 中:
第一个字符:是否具有读权限 //如果是,就是 r ,否则就是 -
第二个字符:是否具有写权限 //如果是,就是 w ,否则就是 -
第三个字符:是否具有可执行权限 //如果是,就是 x ,否则就是 -
文件权限 用户所属组 最近修改时间 文件名
-rw-rw-r-- 1 whb whb 0 Nov 30 21:24 normal.txt
-rw-r--r-- 1 root rooy 0 Nov 30 21:24 root.txt
修改权限
whoami是谁,谁就可以修改权限: root
chmod u - r test.txt
chmod 所属组 +-权限内容 r() w() x(可执行权限) 需要修改权限的文件
chmod u(拥有者)/g(所属组)/o(other) [+/-]rwx 需要修改权限的文件
user, group, other, all
也可以同时修改多个权限
chmod o + rwx test.txt //添加 r(读) w(写) x(可执行权限)
chmod o - rx test.txt //减去 r(读) x(可执行权限)
同时修改多用户多权限
chmod u-w, g-r, o-xw test.txt
同时修改所有用户所有权限 // chmod a+ /- rwx
chmod a+rwx test.txt
——————————————————————————————————————————————————————————————
权限存在的意义:
保证普通用户的文件的一般的安全性!
对用户身份进行识别,只识别一次!
修改拥有者:
----rw----. 1 a(拥有者) a 0 Dec 31 02 : 13 test.txt
chown root test.txt
----rw----. 1 root(拥有者) a 0 Dec 31 02 : 13 test.txt
修改所属组:
----rw----. 1 root(拥有者) a(所属组) 0 Dec 31 02 : 13 test.txt
chgrp root test.txt
----rw----. 1 root(拥有者) root(所属组) 0 Dec 31 02 : 13 test.txt
添加了对应权限,其他成员才可以以对应权限进行访问:
chmod o+rw test.txt
----rw-rw-. 1 root(拥有者) root(所属组) 0 Dec 31 02 : 13 test.txt
a 用户可以访问 test.txt 的读写权限
修改拥有者为其他普通用户
如果要把文件给别人是强制给的!需要提权,无法直接给。
sudo chown gaobo file.txt //提权修改拥有者
sudo chgrp gaobo file.txt //提权修改所属组
单用户使用 su 把自己变成 root 用户。
sudo chown a:a file.txt //把 拥有者 和 所属组 同时改回 a ,
sudo chown a:root file.txt//也可分别修改两个
——————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————
更改【拥有者】:chown name1 filename
更改【所属组】:chgrp name2 filename
两者都改:chown name1:name2 filename
other:不需要修改
实例 修改 读、写、可执行 权限:
drwxrwxr-x. 2 a a 6 Dec 31 02:22 dir
-rw-rw-r--. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod u - r test.txt //1.修改test.txt: u(拥有者) r(读)权限
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
--w - rw - r--. 1 a a 0 Dec 31 02 : 13 test.txt //1.读权限被修改为 -
[a@192 lesson6]$ chmod u - w test.txt //2.修改test.txt: u(拥有者) w(写)权限
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
----rw - r--. 1 a a 0 Dec 31 02 : 13 test.txt //2.写权限被修改为 -
[a@192 lesson6]$ chmod u + rw test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
- rw - rw - r--. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod g - rw test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
- rw----r--. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod o - r test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
- rw------ - . 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod o + rwx test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
- rw----rwx. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod o - rx test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
- rw---- - w - . 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$
也可以同时修改多用户多权限
drwxrwxr - x. 2 a a 6 Dec 31 02:22 dir
- rw - r - xrwx. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod u - w, g - r, o - x test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr-x. 2 a a 6 Dec 31 02 : 22 dir
-r----xr--. 1 a a 0 Dec 31 02 : 13 test.txt
同时修改所有用户所有权限
drwxrwxr - x. 2 a a 6 Dec 31 02:22 dir
- rwxrwxrwx. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod a - rwx test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
----------. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$ chmod a + rw test.txt
[a@192 lesson6]$ ll
total 0
drwxrwxr - x. 2 a a 6 Dec 31 02 : 22 dir
- rw-rw-rw-. 1 a a 0 Dec 31 02 : 13 test.txt
[a@192 lesson6]$
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wfoo00/linux.git
git@gitee.com:wfoo00/linux.git
wfoo00
linux
Linux
master

搜索帮助