linux亦步亦趋(12)文件权限管理umask
umask命令:
查看默认权限的命令,比如新创建的文件和文件夹的命令。
我们先看一下我们新建的目录的权限:
[root@localhost home]# su - newuser [newuser@localhost ~]$ ls [newuser@localhost ~]$ pwd /home/newuser [newuser@localhost ~]$ mkdir bobo [newuser@localhost ~]$ ls -l 总计 4 drwxrwxr-x 2 newuser newuser 4096 07-22 17:38 bobo [newuser@localhost ~]$ umask -S u=rwx,g=rwx,o=rx [newuser@localhost ~]$ umask 0002 [newuser@localhost ~]$
可以看到我们创建的目录的权限是drwxrwxr-x 与我们umask -S 看到的结果是一样的。也就是文件夹所有者是rwx 同组是rwx 其他是rx。但是umask的直接显示我们却看不懂,
这里有必要解释一下:mask就是掩码的意思,因此他是一个掩码的显示方式,其中第一个0是特殊权限位我们先不考虑他,后面的022其实表示的是777-022的结果也就是755.与我们的实验结果一样。
我们再来看新建的文件的权限:
[newuser@localhost bobo]$ touch bobo.txt [newuser@localhost bobo]$ ls -l 总计 0 -rw-rw-r-- 1 newuser newuser 0 07-22 17:47 bobo.txt [newuser@localhost bobo]$
我们发现x选项都没了,除此之外都是ok的,原因是因为linux有个原则就是所有新建的文件都不能直接赋有可执行的权限,即便是umask中指定了可执行权限也无效。
更改umask的值:
不建议大家更改这个值,系统默认这个值是非常的合理的。但是我们仍然可以更改,比如我们觉着755这个值不太好我们可以改成750即其他用户没有任何权限。
实例如下:umask 027; 注意027是算出来的。不是直接的750.
[newuser@localhost bobo]$ umask 027 [newuser@localhost bobo]$ touch bobo.txt [newuser@localhost bobo]$ ls -l 总计 0 -rw-r----- 1 newuser newuser 0 07-22 17:55 bobo.txt [newuser@localhost bobo]$
从结果看我们成功了。
最后记得把umask的值该回去。
[newuser@localhost bobo]$ umask 022 [newuser@localhost bobo]$