(1)操作权限概述
(1.1)操作权限简介
Linux是多用户的操作系统,允许多个用户同时在系统上登录和工作。为了确保系统和用户的安全,Linux采取了很多的安全措施。用户在登入系统时需要输入用户名和口令,这样,就使系统可以通过用户的识别号(UID)来分别确定每个用户在登录系统后都做了些什么,也可以用来区别不同用户所建立的文件或目录。
普通用户在系统上受到权限的制约,一个普通用户若要切换至其他的普通用户甚至超级用户的工作目录,将会收到拒绝提示信息,例如:
$ whoami
$ osmond
$ cd /root
bash: /root:Permission denied
$ cd /home/jason
bash: /home/jason: Permission denied
$
(1.2)3种基本的权限
在Linux中,将使用系统资源的人员分为4类:超级用户、文件或目录的属主、属主的同 组人和世界上的其他人员。由于超级用户具有操作Linux系统的一切权限,所以不用指定超级 用户对文件和目录的访问权限。对于其他3类用户都要指定对文件和目录的访问权限,对每一类用户都有如下表所示的3种基本的权限需要说明。
文件或目录的3种基本的访问权限 | |||
代表字符 | 权 限 | 对文件的含义 | 对目录的含义 |
r | 读权限 | 可以读文件的内容 | 可以列出目录中的文件列表 |
w | 写权限 | 可以修改该文件 | 可以在该目录中创建、删除文件 |
x | 执行权限 | 可以执行该文件 | 可以使用cd命令进入该目录 |
注意:
1.目录上只有执行权限,表示可以进入或穿越该目录进入更深层次的子目录。
2.目录上只有执行权限,要访问该目录下的有读权限的文件,必须知道文件名。
3.目录上只有执行权限,不能列出目录列表也不能删除该目录。
4.目录上执行权限和读权限的组合,表示可以进入目录并列出目录列表。
5.目录上执行权限和写权限的组合,表示可以在目录中创建、删除和重命名文件。
(1.3)查看文件和目录的权限
在Linux中通过给3类用户分配3种基本权限,就产生了文件或目录的9个基本权限位。可以使用带l参数的ls命令查看文件或目录的权限,例如:
-rw-------. 1 root root 1549 Feb 1 11:42 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 Mar 12 17:16 cd.play.list
-rw-r--r--. 1 root root 16 Mar 12 17:25 err_file
-rw-r--r--. 1 root root 10 Mar 9 14:30 file2~
每一行显示一个文件或目录的信息,这些信息包括文件的类型、文件的权限、文件的属主(第3列)、文件的所属组(第4列),还有文件的大小以及创建时间和文件名。
输出列表中每一行的第一列的第一个字母指示了该文件的类型。第一列的其余9个字母可分成3组,3个字母组。这3组分别代表文件属主的权限、文件所属组的权限、其他用户的权限。每组中的3个栏位分别表示了读取权限(r)、写入权限(w)、执行权限(x)或没有相应的权限(-)。
注意:
当某用户访问系统中的某文件时:
(1)若访问者的UID与文件的UID匹配,就应用用户(user) 权限。
(2)否则,若访问者的GID与文件的GID匹配,就应用群组(group)权限。
(3)如果都不匹配,就应用其他用户(other) 权限。
通常将由ls -l命令输出的第一列称为文件或目录的权限字符串。下表中列出了几个权限字符串的说明。
权限字符串举例 | ||
字 符 | 数 值 | 说 明 |
-rw------- | 600 | 只有属主才有读取和写入的权限 |
-rw-r--r-- | 644 | 只有属主才有读取和写入的权限。同组人和其他人只有读取的权限 |
-rwx------ | 700 | 只有属主才有读取、写入和执行的权限 |
-rwxr-xr-x | 755 | 属主有读取、写入和执行的权限。同组人和其他人只有读取和执行的权限 |
-rwx--x--x | 711 | 属主有读取、写入和执行权限,同组人和其他人只有执行权限 |
-rw-rw-rw- | 666 | 每个人都能够读取和写入文件 |
-rwxrwxrwx | 777 | 每个人都能够读取、写入和执行 |
drwx------ | 700 | 只有属主能在目录中读取、写入 |
drwxr-xr-x | 755 | 每个人都能够读取目录,但是其中的内容却只能被属主改变 |
注意:
把权限设为666 会允许每个人对文件或目录都有读取和写入的权限。把权限设为777允许每个人都有读取、写入和执行的权限。这些权限可能会允许对机密文件的篡改,因此,一般来说,使用这类设置是不明智的。