博客
关于我
linux umask
阅读量:314 次
发布时间:2019-03-03

本文共 711 字,大约阅读时间需要 2 分钟。

文件默认权限设置及umask应用

1. 文件默认权限

在 Unix/Linux 系统中,文件和目录默认的访问权限遵循特定的规则。文件默认权限通常为 666,而目录默认权限则为 777。这些默认值决定了未明确指定的情况下,文件或目录的访问权限。

2. umask 的作用

umask(用户mask)是一个用来指定文件或目录访问权限的工具。它表示系统默认会去掉的权限位。通过 umask,可以为文件和目录设置特定的访问权限。

3. umask 的数字与符号形式

umask 的参数可以用数字形式或符号形式表示。数字形式为 umask 022,符号形式为 umask -S。数字形式更为常用,直接在 umask 后跟三个数字,表示要去掉的权限位。

4. umask 的应用示例

以下是 umask 的典型应用示例:

  • 文件权限

    设定文件默认权限为 644(即 666 - 022)。这意味着所有用户可以读和执行文件,但不能写。

  • 目录权限

    设定目录默认权限为 755(即 777 - 022)。所有用户可以读、执行和列出目录内容,但不能写入或删除文件。

5. 注意事项

在使用 umask 时,需要注意以下几点:

  • umask 的操作是基于现有权限的去掉,而不是直接相减。例如,666 - 003 实际上会去掉所有可写权限,结果为 664
  • 不要使用直接相减的方式(如 666 - 003),因为这会导致负数计算,结果不符合实际权限设置。
  • 建议将数字翻译成符号形式(如 rwx),以更直观地理解权限变化。
  • 通过合理设置 umask,可以为文件和目录制定符合需求的默认访问权限。这对于系统管理员和开发人员来说,是一个非常实用的工具。

    转载地址:http://gsfq.baihongyu.com/

    你可能感兴趣的文章
    Oracle面试题:Oracle中truncate和delete的区别
    查看>>
    TCP基本入门-简单认识一下什么是TCP
    查看>>
    Orcale表被锁
    查看>>
    org.apache.poi.hssf.util.Region
    查看>>
    org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
    查看>>
    org.hibernate.HibernateException: Unable to get the default Bean Validation factory
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
    查看>>
    org.tinygroup.serviceprocessor-服务处理器
    查看>>
    org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
    查看>>
    org/hibernate/validator/internal/engine
    查看>>
    SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
    查看>>
    orm总结
    查看>>
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>