1. 文件权限简介
linux文件权限有9个,三组表示,owner, group, others,每组又包含r,w, x三种状态。
2. 根据数字修改权限
r, w, x三种权限通过数字来代表:
r: 4
w: 2
x: 1
每组的权限为上面三个相加。
比如权限为; [-rwxrwx---]
owner: rwx = 4 + 2 + 1 = 7
group: rwx = 4 + 2 +1 = 7
others: --- = 0 + 0 + 0 = 0
对应的权限为 770
chmod 770 test.log
#递归修改子目录
chmod -R 770 test
例如: [-rw-r--r--] 对应为 644。
chmod 754 file 权限为 [-rwxr-xr--]
3. 根据符号类型修改权限
user, group, others分别用u, g, o代表, a表示所有。
+ 加入
- 减去
= 设置
chmod u=rwx,go=rx test.log
#权限[-rwxr-xr-x]
增加执行权限
chmod a+w test.log
#权限[-rwxrwxrwx]
删除执行权限
chmod a-x test.log
#权限[-rw-rw-rw-]
下面具体介绍chmod命令。
Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读、写、执行等操作。
操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。
文件或目录的权限又分为3种:只读、只写、可执行。
权限 | 权限数值 | 二进制 | 具体作用 |
r | 4 | 00000100 | read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
w | 2 | 00000010 | write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
x | 1 | 00000001 | execute,执行。当前用户可以执行文件,当前用户可以进入目录。 |
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
因此,大家也就明白了 chmod 754 filename 命令的含义了。
sudo chmod 777 *
##首先查看该文件的权限
ls -l /etc/profile
##结果是只读权限
-r--r--r- 1 root wheel 340 9 9 10:59 /etc/profile
##修改该文件的权限
sudo chmod o+w /etc/profile
##查看此时文件的权限
ls -l /etc/profile
##此时权限更改为
-r--r--rw- 1 root wheel 340 9 9 11:27 /etc/profile
777权限:
常用下面这条命令:
chmod 777 文件或目录
示例:chmod 777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行)。
如果是Ubuntu系统,可能需要加上sudo来执行:
sudo chmod 777 /etc/squid
故事的开始,都会先留一个悬念。
只有程序员能懂的冷笑话系列中,有个比较经典的段子:
请用最简洁的语言描述我国FL。
754。
所以,754是什么意思呢?754是什么意思呢?754是什么意思呢?
这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。
可以使用下面的命令查看:
chmod --help 或者man chmod