Linux文件权限和访问模式
1、使用ls -l命令可以查看与文件权限相关的信息:ls -l第一列就包含了文件或目录的权限。第一列的字符可以分为三组,每一组有三个,每个字符都代表不同的权限,分别为读取(r)、写入(w)和执行(x):1、第一组字符(2-4)表示文件所有者的权限,-rwxr-xr-- 表示所有者拥有读取(r)、写入(w)和执行(x)的权限。2、第二组字符(5-7)表示文件所属用户组的权限,-rwxr-xr-- 表示该组拥有读取(r)和执行(x)的权限,但没有写入权限。3、第三组字符(8-10)表示所有其他用户的权限,rwxr-xr-- 表示其他用户只能读取(r)文件。

5、除了符号,孀晏弁钾也可以使用八进制数字来指定具体权限,如下表所示:0:没有任何权限 :---1:执行权限 :--x2:写入权限 :-w-3:执行权限和写入权限:1 (执行) + 2 (写入) = 3 :-wx4:读取权限 :r--5:读取和执行权限:4 (读取) + 1 (执行) = 5 :r-x6:读取和写入权限:4 (读取) + 2 (写入) = 6 :rw-7:所有权限: 4 (读取) + 2 (写入) + 1 (执行) = 7 :rwx

7、在Linux中,一些程序需要特殊权限才能完成用户指定的操作。例如,用户的密码保存在/etc/shadow 文件中,出于安全考虑,一般用户没有读取和写入的权限。但是当我们使用passwd命令来更观鲼视防改密码时,需要对/etc/shadow 文件有写入权限。这就意味着,passwd 程序必须要给我们一些特殊权限,才可以向/etc/shadow 文件写入内容。Linux 通过给程序设置SUID(Set User ID)和SGID(Set Group ID)位来赋予普通用户特殊权限。当我们运行一个带有SUID位的程序时,就会继承该程序所有者的权限;如果程序不带SUID位,则会根据程序使用者的权限来运行。SGID也是一样。一般情况下程序会根据你的组权限来运行,但是给程序设置SGID后,就会根据程序所在组的组权限运行。如果程序设置了SUID位,就会在表示文件所有者可执行权限的位置上出现's'字母;同样,如果设置了SGID,就会在表示文件群组可执行权限的位置上出现's'字母。
