使用 ls -l 查看文件权限(list-long)。 它们将如下所示,请注意,我添加了空格 在权限之间,使其更易于阅读
- rwx rw- r-- 1newuser newuser type
owner
group
others
有两种方法 可以使用 chmod 更改 权限:字母 或数字。
示例
chmod u+rw somefile
chmod o-rwx somefile
这将从其他用户中删除 读取/写入/执行权限(不包括 您组内的用户)。
chmod a+r somefile
chmod a=rx somefile
这将给予所有人对该文件的执行和读取权限,如果有人拥有写入 权限,则将被删除。
数字 可以相加,因此您可以指定读取/写入/执行权限; 读取+写入 = 6,读取+执行 = 5,读取+写入+执行 = 7
示例
chmod 777 somefile
这将给予每个人对 “this_file” 的读取/写入/执行权限。 第一个数字 是用户,第二个是组 ,第三个是其他人(其他)。
chmod 521 somefile
这将给予用户读取和执行 权限,以及组 写入权限 (但没有读取权限!),以及其他所有人执行 权限。(请注意,这只是一个示例,这样的设置实际上没有意义...)。
更改文件的所有权 权限 (因此得名 'chown' - change owner)。 此程序只能由 root 用户使用。
使用 -R 选项来 递归地更改,换句话说,包括子目录中的所有匹配 文件。
命令语法
chown owner:group the_file_name
只有在目录中创建文件的人才能删除 它,即使其他人 拥有写入 权限。 您可以通过键入以下内容来打开 它
chmod 1700 somedirectory (where 1 = sticky bit)
chmod +t somedirectory
chmod 0700 somefile (where the zero would mean no sticky bit)
chmod -t somefile
允许 SUID/SGID(切换用户 ID/切换组 ID)访问。 您通常会使用 chmod 来打开或关闭 特定文件的此功能,suid 通常被认为是安全 隐患,因此在使用时要小心 。
示例
chmod u+s file_name
这将给予每个人执行 文件的权限,权限与设置 +s 开关的用户相同。
安全隐患 |
这显然是一个安全隐患。 除非必要,否则您应避免使用 suid 标志。 |
更改文件系统属性(适用于 ext2fs 和可能的其他文件系统...)。 使用 -R 选项来 递归地更改文件, chattr 有大量 可以设置 在文件上的属性 ,请阅读手册 页 以获取更多信息。
示例
chattr +i /sbin/lilo.conf[1]
这会在文件上设置 “immutable”标志 。 使用 '+' 添加 属性 ,使用 '-' 删除它们。 +i 将阻止对 “lilo.conf” 文件的任何更改 (意外或其他)。 如果您希望修改 lilo.conf 文件,您需要取消设置 immutable 标志: chattr -i。 请注意,某些标志 只能由 root 用户使用; -i、-a 以及可能的 许多其他标志。
请注意,chattr 可以更改许多不同的 属性 , 这里还有一些可能有用的属性
A(无访问时间)--- 如果文件或目录设置了此属性,则无论何时访问 它,无论是为了读取 还是为了写入 ,其上次 访问时间 都不会更新 。 这可能很有用,例如,对于经常被访问 以进行读取的文件或目录,尤其因为此参数是 inode 打开时唯一更改的参数 。
a(仅追加)--- 如果文件设置了此 属性并打开以进行写入,则唯一可能的操作是将数据 追加到其先前的内容 。 对于目录,这意味着您只能向其中添加 文件,但不能重命名 或删除任何现有 文件。 只有 root 用户可以设置或清除此属性。
s(安全删除)--- 当删除设置了此 属性的文件或目录时,它在磁盘 上占用的 块 将用零 写回(类似于使用 shred)。 请注意,这在 ext2 和 ext3 文件系统上有效,但在其他文件系统上不太可能有效(请参阅您正在使用的文件系统 的文档 )。 您可能还想查看 shred,请参阅 第 7 章
(列出属性)。 这将列出 文件是否具有任何特殊 属性(由 chattr 设置)。 使用 -R 选项以递归方式列出 ,并尝试使用 -d 选项 将目录列出 为其他文件,而不是列出 其内容。
命令语法
lsattr
lsattr /directory/or/file
[1] | 此示例和部分解释摘自 Linux 在线课堂,有关更多信息,请参阅 参考书目 中的 [4]。 |