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

相关推荐
猫豆~17 小时前
软件包管理——2day
linux·运维
大白菜132419 小时前
进程的信号
linux
XH-hui19 小时前
【打靶日记】群内靶机Secure
linux·网络安全
Shingmc320 小时前
【Linux】进程控制
linux·服务器·算法
视觉装置在笑71320 小时前
Shell 变量基础与进阶知识
linux·运维
Web极客码21 小时前
如何通过命令行工具检查 Linux 版本信息
linux·运维·服务器
Lynnxiaowen21 小时前
今天我们继续学习Kubernetes内容pod资源对象
运维·学习·容器·kubernetes·云计算
欢鸽儿21 小时前
Vitis】Linux 下彻底清除启动界面 Recent Workspaces 历史路径
linux·嵌入式硬件·fpga
繁华似锦respect21 小时前
C++ 智能指针底层实现深度解析
linux·开发语言·c++·设计模式·代理模式
远程软件小帮手21 小时前
云电脑挂机功能上线!边上班摸鱼边游戏多开教程
运维·服务器