目录和文件权限与 umask 关系

一、权限
  • 文件权限:
r:读取文件内容的权限
w:新增、修改和删除文件内容的权限
x:执行文件的权限
例如:一个文件a.sh,它的权限是rw-,使用 ./a.sh 来运行会提示你没有权限,只能用 sh a.sh 的方式运行。加上 x 权限之后,就可以以 ./a.sh 来执行这个文件脚本了。
  • 目录权限:
r:浏览目录的权限
w:新建、删除、修改和移动 目录内文件 的权限
x:该用户具有进入目录的权限
  • 注解:
目录的只读访问不允许使用 cd 进入目录,必须要有执行的权限才能进入。
只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。
一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除, 文件所有者除外
目录的 w 位不设置,即使你拥有目录中某文件的 w 权限也不能写该文件
目录内有文件,且目录的权限不是 rwx,则无法利用 rm -rf 删除该目录

二、文件创建权限与 umask 关系
  • 系统 root 用户默认 umsdk 是 0022,普通用户默认是 0002
  • 修改 umask 方法:
可以通过 umask 027 来临时改变当前终端里 umask 的值
如果要永久修改 umask 值可以通过以下两种方法:
1、sudo vi /etc/profile 然后在最后加一句:umask 0033
利用该方法修改的 umask 值必须在系统重启后才能生效
2、sudo vi /etc/bash.bashrc 然后在最后加一句:umask 0033
利用该方法修改的 umask 值立刻就能生效
原因:profile 是系统登录是被执行,然后就不执行了
bash.bashrc 是每次加载 Bash Shell 时都会被执行

  • mkdir 创建目录123时如果没加权限,则创建的目录权限(创建目录默认权限)为 775
  • mkdir 创建目录时如果加权限777,则创建的目录权限(创建目录默认权限)为 777
  • touch 创建文件只能是默认权限,修改权限使用chmod,新建文件默认权限:666&(!002)
  • 结论:
  1. 创建目录的权限设定则为设定值
  2. 创建目录权限未设定则为:777 - umask
  3. 新创建文件没有执行权限
  4. 新创建文件权限只能是默认的,且默认权限(缺省权限)为:666 & (!umask)
  5. 如果创建的目录和文件是 Windows 共享文件夹内的,则默认权限均为 777 ,不受 umask 影响
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值