我们知道Linux是多用户
多任务操作的系统,所以在Linux上存在权限问题,今天我们就来聊聊这个问题。
首先,Linux中的基本权限有(读r、写w、可执行x)
- 读:可读取文件的内容,可浏览目录信息。
- 写:可修改文件内容,可对目录进行删除等操作。
- 可执行:执行文件内容或者进入目录
输入ls -l
指令,就可以看到当前目录下所有项目的信息。
其中每一项的含义是:
权限是可以被修改的:(chmod
)
第一种:
chmod g+w 01exit.c //表示给01exit.c文件的拥有者所在组(g)添加上可写权限(w)
1.(u)拥有者、(g)所属组、(o)其他人、(a)全部人(不写默认为o)
2.(+)添加、(-)取消、(=)赋予给定权限并覆盖掉之前设定权限
3.读r、写w、可执行x第二种:
chmod 777 01exit.c //将01exit.c的权限改为rwxrwxrwx
1.一个文件的权限可以通过
三个八进制数字
来表示,其中拥有者(u)、所属组(g)、其他(o)的权限分别用一个数字就可以表示。
2.例如777就代表了rwxrwxrwx:这是因为7对应的二进制数字是111,代表具有r、w、x三种权限;其中r为4(100),w为2(010),x为1(001)
常用的数值有:
权限 | 数字 |
---|---|
rw- r–– r–– | 0644 |
rw- rw- r–– | 0664 |
rwx rw- r–– | 0764 |
rwx rwx rwx | 0777 |
拓展:Linux中的基本命令所需权限(普通用户)
命令 | 权限 |
---|---|
cd | x |
ls | rx |
touch | wx |
rm | wx |
mv | wx |
Linux中改变文件的所有者与所属组
首先注意一个概念:文件的所属组不一定就是所有者所在的那个组。
- 修改所有者
chown 新的所有者 文件名 //可能没有权限,得管理员才能修改
- 修改所属组
chown 新的所有者:新的所属组 文件名 //可能没有权限,得管理员才能修改
chgrp 新的所属组 文件名 //可能没有权限,得管理员才能修改