Linux下的一些重要权限
一、进入目录需要的权限
首先,在虚拟机中创建三个目录文件以及一个非目录文件:
输入ll命令查看这4个文件的具体信息:
在信息的前面,有十个位置,存放字母或"-",下面对其进行解析。
在Linux中,有三种不同的用户:文件所有者(u)、同组用户(g)、其他用户(o)。
每一个文件的访问权限有三组(u、g、o),每一组有三位,分别为文件所有者的读(r)、写(w)、执行(x)权限,同组用户的读(r)、写(w)、执行(x)权限,其他用户的读(r)、写(w)、执行(x)权限。
以data1为例,drwxrwxr-x共有十个位置,第一个位置标明文件类型,若为d,则此文件为目录文件,若为-,则此文件为非目录文件。2-4位置表示的是文件所有者的读(r)、写(w)、执行(x)权限。5-7位置表示的是同组用户的读(r)、写(w)、执行(x)权限。8-10位置表示的是其他用户的读(r)、写(w)、执行(x)权限。
在Linux中,可通过chmod命令对文件的访问权限进行更改。例如
1)对非目录文件123,给其文件所有者增加执行(x)权限,如下图所示:
2)对目录文件data1,给其所有者文件增加读(r)、写(w)、执行(x)权限,如下图所示:
现将test目录所有权限置为0,可发现打开目录时被拒绝。
现一个一个的添加权限,查看进入目录所需的权限是什么。
1)添加文件所有者的读(r)权限,发现,进入目录失败。
2)添加文件所有者写(w)权限,发现进入目录失败。
3)添加所有者读(r)、写(w)权限,发现访问失败。
4)删除文件所有者读、写权限,增加文件所有者执行权限,发现访问成功。
5)增加文件所有者读、写权限,访问成功。
总结
1.r可读权限,读取文件内容。很容易理解
2.w可写权限,写入、修改、编辑文件内容的权限,但不具备删除文件的权限,文件所在目录有w权限,那么不管文件是什么权限,都可以删除
3.x可执行权限,在Windows中,文件是否可执行是通过扩展名判断的,在Linux中文件是否可执行是通过是否有x权限判断的,与文件名没有绝对的关系
二、在目录中执行增删查(cd, touch, ls等)改文件动作所需权限
仍以test目录文件为例
1、cd命令的权限
1)删除test目录文件所有权限
执行cd命令失败,则此时其他命令也无法实行。
2)增加文件所有者读(r)权限,执行cd命令,访问失败。
3)增加写(w)权限,执行cd命令
4)增加执行(x)权限,执行cd命令
此时cd命令执行成功。
此时,删除test文件所有者的读(r)、写(w)权限,cd命令仍执行成功,由此可知,只要文件所有者拥有执行(x)权限时,就可以执行cd命令。
执行cd命令所需的权限是执行(x)权限。
2、touch命令的权限
因为只有将test打开才能执行其他的命令,所以test文件必须具有执行(x)权限。
1)因此,只需删除文件所有者的写(w)权限。
当文件所有者拥有读(r)、执行(x)权限是,不能执行touch命令。
2)增加文件所有者的写(w)权限。
当增加写(x)权限后,touch命令可成功执行。
然后,删除文件所有者的读(r)命令,可发现touch命令仍可成功执行。
由此可知,执行touch命令需要的权限是写(w)、执行(x)权限。
3、ls命令的权限
1)删除读(r)、写(w)权限
2)增加读(r)权限
3)增加写(w)权限,删除读(r)权限
综上所述,执行ls命令所需权限是读(r)、执行(x)权限。
四、Linux下的重要目录
/proc 此目录的数据都在内存中,如系统核心、外部设备、网络状态,由于数据都存放于内存中,所以不占用磁盘空间。
/sys 与/proc类似,也是一个虚拟的文件系统,主要也是记录与内核相关的信息。
/selinux 主要用来加固操作系统,提高系统的安全性。
/bin 放置的是单用户维护模式下还能被操作的命令。
/usr/lib 包括各种应用软件的函数库、目标文件,以及不被一般用户管用的执行文件或脚本文件。
/usr/local 系统管理员在本机自行安装自己下载的软件,建议安装到此目录。
/var 主要针对常态性变动的文件,包括缓存、登陆文件,以及某些软件运行所产生的文件,包括程序文件,或者例如MySQL数据库的文件等。
/tmp 这是让一般用户或者是正在执行的程序暂时放置文件的地方,重要的数据不可放在这里。