chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
常见报错提醒:Permission denied.
解决方法:chmod 777 lady.sh
原理详解:
首先,查看文件权限 命令: ls -l
若想设置文件权限,
基本语法:例如将lady.txt设置为所有人可写: chmod a+w lady.txt
其中a为所有人,可替换为ugo,“+”代表增加权限,w代表可写,lady.tst
为文件名。
其它who(用户类型),operator(操作符)和 permission(权限)见下表
who |
用户类型 |
说明 |
u |
user |
文件所有者 |
g |
group |
文件所有者所在组 |
o |
others |
所有其他用户 |
a |
all |
所有用户, 相当于 ugo
|
Operator |
说明 |
+ |
为指定的用户类型增加权限 |
- |
去除指定用户类型的权限 |
= |
设置指定用户权限的设置,即将用户类型的所有权限重新设置 |
模式 |
名字 |
说明 |
r |
读 |
设置为可读权限 |
w |
写 |
设置为可写权限 |
x |
执行权限 |
设置为可执行权限 |
X |
特殊执行权限 |
只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行 |
s |
setuid/gid |
当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限 |
t |
粘贴位 |
设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位 |
八进制语法:将lady.sh设置为所有人可读可写可执行:chmod 777 lady.sh(通常情况下可解决所有问题)
第一个7代表所有者的权限用数字表达,第二个7代表用户组的权限用数字表达,第三个7代表其它用户的权限数字表达,lady.sh为文件名。
# |
权限 |
rwx |
二进制 |
7 |
读 + 写 + 执行 |
rwx |
111 |
6 |
读 + 写 |
rw- |
110 |
5 |
读 + 执行 |
r-x |
101 |
4 |
只读 |
r-- |
100 |
3 |
写 + 执行 |
-wx |
011 |
2 |
只写 |
-w- |
010 |
1 |
只执行 |
--x |
001 |
0 |
无 |
--- |
000 |