文件权限
- 文件权限是用来限制普通用户的,管理员是特权用户,超级用户,不受限制。比如可以创建没有任何权限的文件。管理员用户照样可以读写。
- 因为新建文件时没有执行权限的,所以写完shell脚本后,要赋予
chmod -x
执行权限 新建文件夹是有执行权限的,因为要执行 cd / ls 等动作
文件权限概述
文件权限是8进制的,不是10 进制的,不是10进制的。
[zz@mac ~/worklist/script]>ls -al
total 40
drwxr-xr-x 6 yutou staff 192B 2 27 14:13 ./
drwxr-xr-x 9 yutou staff 288B 2 26 18:31 ../
-rwxr--r-- 1 yutou staff 124B 2 27 11:25 configure.sh*
-rwxr-xr-x 1 yutou staff 447B 2 27 14:13 migrate.sh*
lrwxr-xr-x 1 yutou staff 21B 2 27 08:00 worklist@ -> /Users/yutou/worklist
-rwxr-xr-x 1 yutou staff 9.9K 2 27 12:25 worklistcmd*
drwxr-xr-x
权限用第一个字符串表示。
第一个字母表示文件类型,d
表示文件夹,l
表示链接,-
表示文件。
此后的字母,3个一组,一共三组,对应用户、用户组和其他人。
一组字母的顺序是固定的,代表读写执行;
r,4,read,表示对此文件有读的权限;
w, 2,write,表示有写入此文件的权限;
x,1,execute,表示有执行文件的权限;
-,代表无此权限。
以drwxr-xr-x
为例,d 代表这个一个目录,rwx
代表文件的拥有用户 yutou对此文件可读可写可执行;r-x
代表yutou所在的用户组,对于此文件可读可执行,但是不可以写入,也就是不能更改此文件的内容;r-x
代表其他人对于此文件也是可读可执行但是不可以写入。chmod 修改文件权限
chown 更改文件或目录的所有者和所属组
chown,change file/directory ownership, 更改文件或目录的所有者和所属的组。
# chown -R, recursive,将目录及子目录下的文件均修改权限
# 仅修改 db 的用户权限
chown -R zzjack /data/db
# 把 db 的用户权限及用户组均改为zzjack
chown -R zzjack:zzjack /data/db
umask 文件权限掩码
掩,就是遮盖,减去。文件的最大权限,减去掩码,就是创建文件的默认权限。
umask 就是去掉某些权限的意思。
系统规定:
- 文件在创建时是不能有执行权限的,所以一个文件的默认满权限是 666. 少的那个1是可以执行权限x。
- 文件夹在创建时是可以有执行权限的,所以它的默认权限是 777.
- 计算规则,文件夹直接减。文件是偶数不变基数加1(哪个位上是奇数,哪个位上加1)。
掩码是 551
时,文件的默认权限是,666-551=115, 奇数加1,226,可写-可写-可写执行。
默认情况下 umask 的值是 022,创建的文件默认权限时644,创建的文件夹权限是755.
umask // 以8进制的形式显示掩码
// 0022
umask -S 以字符串的形式显示掩码
// u=rwx,g=rx,o=rx
+ 第1个0是黏着位,也就是占位符
+ 真正起作用的是后面 3 位
临时修改掩码
umask 新的值
永久修改掩码, 写入配置文件
vim ~/.profile