文件权限

  • 文件权限是用来限制普通用户的,管理员是特权用户,超级用户,不受限制。比如可以创建没有任何权限的文件。管理员用户照样可以读写。
  • 因为新建文件时没有执行权限的,所以写完shell脚本后,要赋予 chmod -x 执行权限
  • 新建文件夹是有执行权限的,因为要执行 cd / ls 等动作

    文件权限概述

    文件权限是8进制的,不是10 进制的,不是10进制的。

    1. [zz@mac ~/worklist/script]>ls -al
    2. total 40
    3. drwxr-xr-x 6 yutou staff 192B 2 27 14:13 ./
    4. drwxr-xr-x 9 yutou staff 288B 2 26 18:31 ../
    5. -rwxr--r-- 1 yutou staff 124B 2 27 11:25 configure.sh*
    6. -rwxr-xr-x 1 yutou staff 447B 2 27 14:13 migrate.sh*
    7. lrwxr-xr-x 1 yutou staff 21B 2 27 08:00 worklist@ -> /Users/yutou/worklist
    8. -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 修改文件权限

    pass

    chown 更改文件或目录的所有者和所属组

  • chown,change file/directory ownership, 更改文件或目录的所有者和所属的组。

  1. # chown -R, recursive,将目录及子目录下的文件均修改权限
  2. # 仅修改 db 的用户权限
  3. chown -R zzjack /data/db
  4. # 把 db 的用户权限及用户组均改为zzjack
  5. chown -R zzjack:zzjack /data/db

umask 文件权限掩码

掩,就是遮盖,减去。文件的最大权限,减去掩码,就是创建文件的默认权限。
umask 就是去掉某些权限的意思。
系统规定:

  • 文件在创建时是不能有执行权限的,所以一个文件的默认满权限是 666. 少的那个1是可以执行权限x。
  • 文件夹在创建时是可以有执行权限的,所以它的默认权限是 777.
  • 计算规则,文件夹直接减。文件是偶数不变基数加1(哪个位上是奇数,哪个位上加1)。

掩码是 551 时,文件的默认权限是,666-551=115, 奇数加1,226,可写-可写-可写执行。
默认情况下 umask 的值是 022,创建的文件默认权限时644,创建的文件夹权限是755.

  1. umask // 以8进制的形式显示掩码
  2. // 0022
  3. umask -S 以字符串的形式显示掩码
  4. // u=rwx,g=rx,o=rx
  5. + 10是黏着位,也就是占位符
  6. + 真正起作用的是后面 3

临时修改掩码

  1. umask 新的值

永久修改掩码, 写入配置文件

  1. vim ~/.profile