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

相关推荐
左手の明天5 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
꯭自꯭闭꯭5 小时前
达梦SQL优化相关
linux·运维·数据库·sql
ZhangJun956 小时前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
一条破秋裤6 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
贵州山魈羡民6 小时前
【玩转手机】通过 Podroid 上的 Alpine 部署 1Panel,把微型服务器装进口袋
运维·服务器
小白的码BUG之路6 小时前
Docker -- 构建nacos镜像
运维·docker·容器
谷哥的小弟8 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing8 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
和裕8 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
FPGA小徐9 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器