Published at 2020-05-11 19:24
Author:zhixy
View:587
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。 用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的家目录。
每个用户都至少隶属一个用户组,即与用户名同名的用户组(在创建用户时同时创建),系统可以对一个用户组中的所有用户进行集中管理。
Linux系统中不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用ll或者ls –l
命令来显示一个文件的属性以及文件所属的用户和组,如:
[user@server ~]# ls -l /
total 60
lrwxrwxrwx. 1 root root 7 Jul 11 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jul 11 2019 boot
drwxr-xr-x 19 root root 2960 May 9 21:26 dev
drwxr-xr-x. 79 root root 4096 May 2 13:39 etc
drwxr-xr-x. 2 root root 4096 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Jul 11 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jul 11 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 Jul 11 2019 lostfound
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 3 root root 4096 May 5 08:37 opt
dr-xr-xr-x 88 root root 0 May 2 13:36 proc
dr-xr-x---. 7 root root 4096 May 11 17:49 root
drwxr-xr-x 25 root root 680 May 2 15:22 run
lrwxrwxrwx. 1 root root 8 Jul 11 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 May 2 21:36 sys
drwxrwxrwt. 10 root root 4096 May 11 16:39 tmp
drwxr-xr-x. 13 root root 4096 Jul 11 2019 usr
drwxr-xr-x. 19 root root 4096 Jul 11 2019 var
上例中,bin
的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。详细解释如下:
表示文件类型的属性后,由一个三组3个字符,共9个字符组成的字符串,用于表示文件的权限属性。
rwx
3个字符,分别表示可读(read)、可写(write)、可执行(execute)。
且这三个权限的位置不会改变,如果没有权限,则会出现 [ - ] 号。
每组rwx
自左向右,分别针对文件所属用户、同组其他用户、其他用户的权限设置(如上图所示)。
如一个文件的权限属性为:-rwxr-x---
,意味着其他用户无任何权限,而同组其他用户可读、可执行。
而相关文件属于哪个用户和哪个用户组,由ls –l
命令输出结果的第3、4列指明。
修改文件权限属性,需要借助命令chmod
。
[user@server ~]# chmod uw file # 对file,为所属用户添加可写权限。
[user@server ~]# chmod u-w file # 对file,为所属用户去除可写权限。
[user@server ~]# chmod gr file # 对file,为同组其他用户添加可读权限。
[user@server ~]# chmod g-r file # 对file,为同组其他用户去除可读权限。
[user@server ~]# chmod ox file # 对file,为其他用户添加可执行权限。
[user@server ~]# chmod o-x file # 对file,为其他用户去除可执行权限。
[user@server ~]# chmod ax file # 对file,为所有用户添加可执行权限。
[user@server ~]# chmod a-x file # 对file,为所有用户去除可执行权限。
上述字符的形式修改权限,是一种比较容易理解的方式。但实际操作中,常用的是数字形式。
r
对应数字4;w
对应数字4;2
对应数字1。数字形式的权限修改,见以下示例:
[user@server ~]# chmod 755 file # 对file,为所属用户可读可写可执行、同属其他用户可读可执行、其他用户可读可执行。
[user@server ~]# chmod 644 file # 对file,为所属用户可读可写、同属其他用户可读、其他用户可读。
[user@server ~]# chmod 700 file # 对file,为所属用户可读可写可执行、同属其他用户无权限、其他用户无权限。
文件所属用户与所属组的修改,需用chown
:
[user@server ~]# chown user:group file # 将file的所属用户改为user,所属组修改为group。
[user@server ~]# chown user file # 仅将file的所属用户改为user。