欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux 文件权限管理-【umask】预设置用户创建的文件的权限

程序员文章站 2022-06-03 20:44:19
...

linux下umask的使用讲解

1 umask 是什么

当我们登录系统之后创建一个文件是会有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask用于设置用户创建文件或者目录的默认权限,umask设置的是权限的“补码”,而我们常用chmod设置的是文件权限码。

一般在/etc/profile,HOME/.bashprofile或者HOME/.bashprofile或者HOME/.profile中设置umask值。

2 umask是用来做什么的

1:预设置某个用户创建的文件的权限

2:  利用的是掩码模式

3:umask对文件和目录同时生效只是计算规则不一样,文件初始化权限=666-umask,目录初始化权限=777-umask

4:umask不能设置特殊权限位的权限

默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2),可以用ls -l验证一下, 现在应该知道umask的用途了吧,它是为了控制默认权限的。

 

3 基本权限讲解

讲解umask的使用之前, 需要先讲解下文件的基本权限

linux文件权限
  r w x
文件  可以查看文件内容  可以修改文件  可以把文件启动为一个运行的程序
目录  可以ls查看目录中的文件名  可以在目录中创建或者删除文件(只有w权限没法创建,需要x配合)  可以使用cd 进入这个目录 ls-l显示目录内文件的元数据的信息

4 umask计算权限

 

目录的默认最大权限是777,文件的默认最大权限是666

       对于文件和目录来说, 最大的权限其实都是777但是执行权限对于文件来说,太过于危险而对目录来说执行权限是个基本权限。

掩码计算得到文件真正的权限

      umask对文件和目录同时生效只是计算规则不一样,文件初始化权限=666-umask,目录初始化权限=777-umask

5 umask的修改

umask 的修改分2中, 临时修改的和永久修改的

临时修改:

[[email protected] ~]$ umask
0002
[[email protected] ~]$ umask 023
[[email protected] ~]$ umask 

 

永久修改:

可以编辑以下文件 添加umask=022。

交互式登陆的配置生效:

/etc/profile < /etc/profile.d/*.sh < ~/.bash_profile < ~/.bashrc </etc/bashrc 【/etc/bashrc的配置最有效 可以覆盖前面的配置】

非交互登陆的配置生效:

~/.bashrc < /etc/bashrc  < /etc/profile.d/*.sh

6 umask 参数

# 以八进制数的形式输出创建文件的权限掩码。
umask -p
# 执行结果:
umask 0022
# 以符号组合的方式输出创建文件的权限掩码。
umask -S
# 执行结果:
u=rwx,g=rx,o=rx

7 常用umask

Linux 文件权限管理-【umask】预设置用户创建的文件的权限

  1. umask:000 file:666 dir:777

  2. umask:002 file:664 dir:775

  3. umask:007 file:660 dir:770

  4. umask:012 file:664 dir:765

  5. umask:017 file:660 dir:760

  6. umask:022 file:644 dir:755

Linux 文件权限管理-【umask】预设置用户创建的文件的权限