在Linux中,文件权限是通过一个称为“umask”的值来控制的。umask是一个三位八进制数,用于定义新创建文件的默认权限。每个数字代表不同用户类别的权限:第一个数字表示文件所有者的权限,第二个数字表示文件所属组的权限,第三个数字表示其他用户的权限。
每个数字可以是一个0到7之间的整数,分别表示不同的权限组合:
例如,umask值为022时,新创建的文件将具有以下默认权限:
要设置文件权限,可以使用chmod命令。chmod命令有两种模式:符号模式和绝对模式。
符号模式:使用字母表示用户类别(u表示用户,g表示组,o表示其他用户,a表示所有用户),以及操作符(+表示添加权限,-表示删除权限,=表示设置权限)。例如,要给文件所有者添加写权限,可以使用命令chmod u+w filename。
绝对模式:使用八进制数表示权限。例如,要将文件权限设置为读、写、执行(7),可以使用命令chmod 700 filename。
要查看文件或目录的当前权限,可以使用ls -l命令。这将显示一个类似于以下的输出:
-rwxr-xr-x 1 user group 4096 Jan 1 00:00 filename
在这个例子中,第一个字符表示文件类型(-表示普通文件,d表示目录),接下来的三个字符表示文件所有者的权限(rwx),然后是文件所属组的权限(r-x),最后是其他用户的权限(r-x)。