目录权限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

相关推荐
DeeplyMind3 小时前
第12章 Docker存储机制(重要)
运维·docker·容器
鸠摩智首席音效师4 小时前
如何在 Linux 中将文件复制到多个目录 ?
linux·运维·服务器
香蕉你个不拿拿^4 小时前
Linux进程地址空间解析
linux·运维·服务器
云小逸4 小时前
【nmap源码分析】Target 类——目标主机信息管理的核心引擎
服务器·windows·nmap
人间打气筒(Ada)4 小时前
Linux学习~日志文件参考
linux·运维·服务器·学习·日志·log·问题修复
xuhe25 小时前
Claude Code配合Astro + GitHub Pages:为 sharelatex-ce 打造现代化的开源项目宣传页
linux·git·docker·github·浏览器·overleaf
charlie1145141915 小时前
RK3568跑Arch Linux全路程指南(以正点原子的RK3568开发板为例子)
linux·嵌入式·rootfs·教程·环境配置·嵌入式linux·工程实践
OpsEye5 小时前
交换分区优化实战:从监控到调优,让系统告别卡顿
运维·it·监控·告警·swap·监控系统·交换分区
大熊程序猿5 小时前
metabase 报表使用
运维
爆米花byh6 小时前
在RockyLinux9环境的Doris单机版安装
linux·数据库·database