与Windows等操作系统不同,Linux采用了一种基于用户、组和其他用户的精细权限控制机制,使得每个文件和目录的访问权限都可以被精确设置
这一机制的核心在于一系列强大的文件权限命令,它们不仅为系统管理员提供了高度的灵活性,也让普通用户能够对自己的文件和目录实施有效的保护
本文将深入探讨这些关键命令,帮助你深入理解并熟练运用它们,从而成为Linux系统安全管理的行家里手
一、Linux文件权限基础 在Linux中,每个文件和目录都有与之关联的权限属性,这些属性决定了谁可以读取(read)、写入(write)或执行(execute)它们
权限信息通常通过`-ls -l`命令显示,输出格式类似于: -rwxr-xr-- 这里,第一列代表文件类型和权限,其中: - 第一个字符表示文件类型(-代表普通文件,`d`代表目录,`l`代表链接等)
- 接下来的九个字符分为三组,每组三个字符,分别对应文件所有者(user)、所属组(group)和其他用户(others)的权限
-`r`表示可读(read)
-`w`表示可写(write)
-`x`表示可执行(execute)
--表示无相应权限
例如,`-rwxr-xr--`意味着这是一个普通文件,所有者拥有读、写和执行权限,所属组成员拥有读和执行权限,而其他用户没有任何权限
二、chmod命令:改变文件权限 `chmod`(change mode)是最常用的修改文件权限的命令
它可以通过符号模式或数字模式来设置权限
符号模式: 使用`u`(用户)、`g`(组)、`o`(其他)和`a`(所有人,即`ugo`的集合)指定权限的适用范围,结合`+`(添加)、`-`(移除)、=(设置)操作符,以及`r`、`w`、`x`权限类型,来修改权限
例如: chmod u+x filename 为文件所有者添加执行权限 chmod g-w filename 移除文件所属组的写权限 chmod o=r filename 设置其他用户只有读权限 数字模式: 每种权限对应一个数字:读(4)、写(2)、执行(1),权限值通过将这些数字相加得到
例如,`rwxr-xr--`可以表示为`755`(所有者:4+2+1=7,组:4+1=5,其他:4+1=5)
chmod 755 filename 设置文件权限为rwxr-xr-- 三、chown命令:改变文件所有者 `chown`(change owner)命令用于更改文件或目录的所有者和所属组
只有超级用户(root)或文件当前的所有者才能执行此操作
chown newowner filename 更改文件所有者 chown newowner:newgroup filename 同时更改文件所有者和所属组 chown :newgroup filename 仅更改文