一、 Ubuntu / Linux 文件权限
文件权限是指不同的用户或用户组对某个文件拥有的权限, 文件的权限分为三种:
r :读
w :写
x :可执行
- rw- rw- r-- 就是文件权限,第一位 - 表示设备文件类型( c char 字符设备 b 快设备文件 ),剩下的每三位表示一组权限,分别对应 拥有者权限、拥有者所在组权限、其他用户权限。

可以使用二进制表示文件权限。
r = 4
w = 2
x = 1
|----|-----|-----|
| 字母 | 二进制 | 八进制 |
| r | 100 | 4 |
| w | 010 | 2 |
| x | 001 | 1 |
查看文件的详细信息
ls a.c -l //a.c是一个.c文件
二、 Ubuntu / Linxu 文件权限修改
|-----|-------|-------|
| 权限 | 二进制数字 | 八进制数字 |
| --- | 000 | 0 |
| --x | 001 | 1 |
| -w- | 010 | 2 |
| -wx | 011 | 3 |
| r-- | 100 | 4 |
| r-x | 101 | 5 |
| rw- | 110 | 6 |
| rwx | 111 | 7 |
还有一种表示方法
|----|-------|
| 字母 | 意义 |
| r | 可读权限 |
| w | 可写权限 |
| x | 可执行权限 |
| a | 所有用户 |
| u | 归属用户 |
| g | 归属组 |
| o | 其他用户 |
| = | 具备权限 |
| + | 添加某权限 |
| - | 去除某权限 |
1、修改文件权限命令
chmod 命令
touch hello.c //创建文件
gedit hello.c //打开文件
输入一下code-------------------
#include <stdio.h>
int main(void)
{
printf("hello world\r\n");
return 0;
}
------------------------------
gcc hello.c -o hello // -o 表示输出,这里就是通过gcc将hello.c输出一个可执行文件
./hello //执行hello这个文件
hello world //hello程序的输出
chmod 664 hello //将hello这个文件的权限,改成所属用户权限为rw,所属组为rw,其他用户为r
./hello
bash: ./hello: 权限不够 //会提示权限不够
2、修改文件所属用户
chown 命令
chown --help //查看帮助信息
sudo chown root hello //将hello这个文件所属用户改为root
sudo chown .root hello //将hello这个文件所属组改为root
ls hello -l //按列表查看详细信息
sudo chown feng.feng hello //将hello这个文件的所属用户以及所属组全部改为feng
sudo chown -R feng.feng xxx //xxx表示文件夹,-R 表示递归,会将文件夹中所有文件全部修改