centos(8)-权限

来源:互联网 发布:怎么永久删除软件 编辑:程序博客网 时间:2024/06/16 09:19

linux可以有多个用户同时登录操作,并且彼此隔离,互不干涉。这是linux非常重要的安全机制,而实现这一点的关键就是权限。

权限身份

在linux中对文件进行操作时,首先要知道操作者的身份,然后判断其身份是否有操作权限,而身份主要分为三种:拥有者、组、其他。
拥有者:文件拥有者,比如用你的账户登录你的目录后,你创建的文件或者你用安装包安装的文件等,你都具有拥有者权限。
组:除了拥有者,每个文件也会属于一个组,而该组的用户对这个文件具有组权限。
其他:即不是拥有者也没有加入文件所属组的其他用户,具有其他权限。
root:还有一个特例就是root用户,他可以不受权限制约。但是一些安全性较高的程序比如数据库,同样会制约root的权限。

查看身份和权限

ll:查看文件。看最后一行hello.txt文件的权限是-rw-r--r--,一共10个字符,下面详解。

第1个字符:如果是d表示目录,这里是 - 表示文件,还有一些其他字符比如 l 表示链接文件。
第2至4个字符: 表示拥有者具有的读/写/执行的权限,图中rw- 表示root用户只有读写权限。
第5至7个字符: 表示同组用户具有的读/写/执行的权限,图中r-- 表示root组成员对文件只有读权限。
第8至10个字符:表示其他人具有的读/写/执行的权限,图中r-- 表示其他人对文件只有读权限。
现在再来看图中的anaconda-ks.cfg文件,这里面记录了一些安装配置信息包括密码。不用担心,从权限可以看出,root以外的用户是无法访问它的。

文件权限和目录权限

文件的rwx和目录的rwx含义是不一样的。

文件r:查看文件内容的权限,如有权执行cat命令看到文件内容。

文件w:修改文件内容的权限,如有权执行vi命令(还没讲)修改并保存。

文件x:执行文件内容的权限,如有权执行之前安装的bin/java可执行文件。

目录r:查看目录内容的权限,如有权执行ls命令查看目录内容。

目录w:可以在该目录下,执行文件的新建、删除、移动、重命名的权限。

目录x:进入目录的权限,如有权执行cd命令进入目录。

修改身份和权限

chown -R 用户名 /文件路径:即change owner,修改文件拥有者为指定用户,-R是指包含该目录下的所有子目录及文件。

chgrp -R 组名 /文件路径:即change group,修改文件的组为指定组,-R同上

chmod -R u=rwx,g=rwx,o=rwx ./hello.txt:修改权限,u是用户,g是组,o是其他。-R同上。

如下,hello.txt有了所有权限,并且变成了绿色,表示可执行文件。


数值权限

 chmod 数值:还可以通过数值来修改权限,更加方便。

000是无权限,777是满权限。第一个数字是用户权限 ,第二个是组权限 ,第三个是其他权限,数值含义如下:

0:无权限

1:x执行权限 

2:w写权限 

4:r读权限 

5:即1+4,rx权限

7:即1+2+4,rwx权限 

还有3和6,意思同上。

用winscp修改权限

登录winscp,文件--右键--属性,在权限那一栏可以直接选择和取消RWX,下面八进制中三个尾数就是数值法,第一位0是特殊权限,这里不讨论。

默认权限

开头可以看到,root用户复制进来的hello.txt文件默认权限是rw-r--r--,如果是目录那么应该是rwxr-xr-x,这就是root用户的默认权限。文件默认没有x,这并不代表root没有执行权,而是通常创建的文件并不是可执行文件。如果自己创建的文件需要执行权,用户可以自行添加。

umask -S:查看默认权限,不加选项是以数值显示,-S是以符号显示。

数值显示时为何是0022?第一个0是特殊权限,这里不讨论。rwxr-xr-x应该是755,而777-755就是三个尾数022。

修改默认权限

假如现在有一个用户,安全级别非常高,所有文件都是私有的,其他人或组连访问权都没有,那么可以设置成rwx------

umask 077:rwx------就是700,777-700=077,就是上面要修改的权限。

mkdir dir:创建一个目录,名字为dir。

touch file:创建一个文件,名字为file。


此时发现,创建的文件file没有x权限,而目录dir默认有x权限,蓝色代表目录。前面说了x是进入目录的权限,这个是必需的。

原创粉丝点击