umask
umask
umask
umask是shell终端或者说是你这个环境的读写执行的权限,你在自己的环境中执行open所附加的权限要和这个权限进行与操作,这个umask是4个8进制数值,最高位的这个是什么附加权限,暂时不去理会.
我们默认 创建文件的权限是-rw-rw-rw-
,创建目录的权限是drwxrwxrwx
先看root, 0022
中2
就是写权限,也就是去除写权限
root@100ask:/home/book/work/1_write# umask
0022
root@100ask:/home/book/work/1_write# touch a
root@100ask:/home/book/work/1_write# mkdir b
root@100ask:/home/book/work/1_write# ls -l a
-rw-r--r-- 1 root root 0 10月 28 22:50 a
drwxr-xr-x 2 root root 4096 10月 28 22:51 b
再看普通用户,这里就是去除other的写权限
book@100ask:1_write$ umask
0002
book@100ask:1_write$ touch a
book@100ask:1_write$ mkdir b
book@100ask:1_write$ ls -l
total 20
-rw-rw-r-- 1 book book 0 10月 28 22:53 a
drwxrwxr-x 2 book book 4096 10月 28 22:53 b
修改
修改这个掩码的umask权限,就可以确认默认的文件权限
book@100ask:1_write$ umask -S 0000
u=rwx,g=rwx,o=rwx
book@100ask:1_write$ touch a
book@100ask:1_write$ mkdir b
book@100ask:1_write$ ls -l
total 20
-rw-rw-rw- 1 book book 0 10月 28 22:55 a
drwxrwxrwx 2 book book 4096 10月 28 22:55 b
永久修改
在~/.bashrc
最后加一行umask 0000
,,这样进入终端都生效了