前几天在整samba,文件权限搞得我头大,今天来学一下默认新建文件的权限!
一、Linux下umask
1、umask是什么
这个umask是系统默认的、新建文件或目录时要去除的权限
。
用umask
查看:
我的默认是0002,当然现在只需要关心后三位:002
Linux下文件的权限为:r、w、x 分别对应:读、写、执行 三个权限对应三个分值:4、2、1
这个002的意思是:新建的文件other用户没有w权限
用umask -S
查看:
u=rwx,g=rwx,o=rx代表默认添加的权限,它与umask显示的是互补的呀。
umask的值当然也是可以改的啦,直接使用umask 0222
,你再去新建文件,会发现w权限都被去除了,如下图,只看b.txt是不是都没有w权限就好了,x权限不用管
二、Linux下新建文件
1、一般新建我都使用vi,新建并直接打开,当然也可以用touch
系统默认的新建文件的权限是0666
,第一位的0咱们不关心。666对应rw-rw-rw-
我新建一个a.txt,咦权限是rw-rw-r--
,跟默认的rw-rw-rw-
不一样,少了个w,这是因为默认的权限被umask去除了w权限
三、Linux下新建目录
1、mkdir新建目录,系统默认权限是的0777
,当然也要被umask拿走w权限,就成了775
如图,本来目录b应该是rwxrwxrwx
,但是实际是rwxrwxr-x
,也是other被去除了other的w权限
umask可以改默认新建文件权限,文件权限可以用chmod改,用户和组可以用chown来改。想改的自行查阅使用方法吧!