Linux:文件和目录权限初学者指南(umask, chmod, read, write, execute)
【摘要】 Unix文件和目录权限是3×3结构的形式。即三种权限(读取、写入和执行)可用于三种类型的用户(所有者、组和其他)。
在 ls -l 命令的输出中,第 2 到第 10 个位置的 9 个字符代表 3 类用户的权限。
Unix文件和目录权限是3×3结构的形式。即三种权限(读取、写入和执行)可用于三种类型的用户(所有者、组和其他)。
在 ls -l 命令的输出中,第 2 到第 10 个位置的 9 个字符代表 3 类用户的权限。
-rw-r--r-- 1 sathiya sathiya 272 Mar 17 08:22 test.txt
在上面的例子中:
- 用户 (sathiya) 具有读写权限
- 组具有读取权限
- 其他人有阅读权限
三文件权限:
- read:允许读取文件的内容。
- write:允许写入文件。
- 执行:允许将文件作为程序/脚本执行。
三个目录权限:
- read:允许读取目录的内容(查看该目录中的文件和子目录)。
- write:允许写入目录。(在该目录中创建文件和子目录)
- 执行:允许进入该目录。
读取、写入和执行权限的数值:
- 阅读 4
- 写 2
- 执行 1
要获得权限组合,请添加所需的数字。例如,对于读写权限,它是 4+2 = 6。
使用 Chmod 命令更改文件和目录权限
您可以使用八进制表示或符号表示来更改文件或目录的权限。
八进制表示的权限:
- 第一个数字是给用户的
- 第二个数字是组
- 第三个数字是给别人的
例如,给用户读、写 (4+2 = 6),给组和其他人读 (4)。
$ chmod 644 filename
例如,将 read、execute (4 + 1 = 5) 分配给用户,将 read (4) 分配给 group,而将 nothing (0) 分配给其他人。
$ chmod 540 filename
例如,将读取、写入 (4 + 2 = 6) 授予用户,将任何内容 (0) 授予分组,并将读取 (4) 授予其他人。
$ chmod 604 filename
umask 022 负责一个文件的默认权限
默认的 umask 值为 0022,它决定了新文件或目录的默认权限。目录的默认权限为0777,文件的权限为0666,减去默认的umask值0022得到新创建的文件或目录权限。
文件的最终默认权限计算如下:
- 默认文件权限:666
- 默认umask:022
- 最终默认文件权限:644
目录的最终默认权限计算如下:
- 默认目录权限:777
- 默认umask:022
- 最终默认目录权限:755
您可以根据上述计算将 umask 值更改为您需要的适当值。例如,如果您不希望用户(所有者)以外的任何人对文件或目录执行任何操作,那么您可以将 umask 设为 0077。
$ umask 0077
在此之后,如果您创建文件或目录,它将只对用户具有权限,如下所示:
$ > testfile
$ ls -l testfile
-rw------- 1 sathiya sathiya 0 Mar 17 08:23 testfile
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)