目录权限777,目录下创建文件权限是644

问题描述

目录赋权777:chmod -R 777 指定目录

再赋权后的目录内创建文件,权限却是644

问题原因

如果目录的权限设置为777(即rwxrwxrwx),那么在该目录下创建的文件的默认权限取决于系统的umask设置。umask定义了在创建新文件时系统应当屏蔽的权限位。一般情况下,umask的默认值是022。

假设umask的默认值是022,那么在一个777权限的目录中创建的文件的默认权限将是666(即rw-rw-rw-),也就是说会屏蔽掉可执行权限。这是因为umask会排除掉相应的权限位,而777目录权限中包含了所有权限位。

umask是0022表示在创建新文件时,系统会屏蔽掉组和其他用户的写权限。这意味着新创建的文件将具有以下默认权限:

  • 对于普通文件,默认权限为644(rw-r--r--),即所有者具有读写权限,但组和其他用户只有读权限。
  • 对于目录,默认权限为755(rwxr-xr-x),即所有者具有读、写和执行权限,但组和其他用户只有读和执行权限。

这样的umask设置通常用于确保新创建的文件对于其他用户来说是相对安全的,因为默认情况下不会给予组和其他用户写入权限。

要查看系统的umask设置,可以在命令行中输入以下命令:
umask

相关推荐
吕了了几秒前
165 Windows 系统在 UEFI 和 Legacy BIOS 上的启动流程详解
运维·windows·系统
执笔者5485 分钟前
网络编程:socket编程与两个简单的UdpServer练习
linux·服务器·网络·学习
The_cute_cat8 分钟前
Ubuntu指令的初步学习
linux·运维·ubuntu
python百炼成钢10 分钟前
40.linux自带LED驱动
linux·运维·服务器
hhwyqwqhhwy11 分钟前
linux 设备树内容和plateform_device
java·linux·数据库
乌萨奇也要立志学C++12 分钟前
【Linux】线程概念 线程与进程深度剖析:虚实内存转换、实现机制与优缺点详解
linux·c++
福尔摩斯张13 分钟前
使用Linux命名管道实现无血缘关系进程间通信
linux·服务器·网络
会飞的土拨鼠呀14 分钟前
linux 重新运行NetworkManager
linux·运维·服务器
shawnyz15 分钟前
RHCSE--SHELL02--变量
linux·运维·服务器
z_mazin19 分钟前
逆向Sora 的 Web 接口包装成了标准的 OpenAI API 格式-系统架构
linux·运维·前端·爬虫·系统架构