1、基本权限三种
(1)r (read) 读
针对目录,有读(r)权限就代表能对此目录有列表功能,就是可以执行ls命令进行查看,另外还有cp的功能。
针对文件,有读(r)权限就代表能对此文件有阅读功能,可以通过cat等命令查看文件内容。
(2)w (write) 写
针对目录,有写(w)权限就代表着在此目录下创建文件和目录,可以通过touch,mkdir等命令创建文件和目录,另外还可以删除此目录下的文件。
针对文件,有写(w)权限就代表着对此文件可以写入新的内容和修改文件内容。
(3)x (execute) 执行
针对目录,有执行(x)权限就代表能进入此目录,利用cd等命令进入此目录
针对文件,有执行(x)权限就代表可以执行此文件。
例题:
(4)拷贝文件到目录中,需要对此目录具备哪些权限?
-----拷贝文件到目录时,需要写数据到目录中,所以需要对此目录有写的权限(w),另外写的动作是一个执行的过程,所以还需要对此目录有执行(x)权限才行。
(5)什么情况下可以删除文件或者目录
-----能不能删除文件与它本身的权限和owner,group无关,能否删除需要看它的上一级目录的权限,也就是说当前用户对上一级目录有写(w)和执行(x)权限,就可以删除此目录下的文件或子目录
(6)什么时候会出现强制保存的选项?什么时候可以强制保存,什么时候不能?
(1)只有当用户对文件没有写权限的时候,才会在保存时出现要你使用!强制保存的选项
(2)你是文件的所有者,不管对上级目录还是文件本身有何权限,都可以强制保存。
(3)你不是文件的所有者,对上级目录有写权限,就可以强制保存,并且强制保存后,owner和group改变成你自己这个用户了。
2、特殊位导致权限变化一般有以下两种
(1)特权位(s)
setuid
setgid
特权位只针对文件有效,并且只能添加在权限位的前三位和中间三位;一个可执行文件拥有s位并且在前三位时,当别的用户来执行此文件,使用的权限是此可执行文件属主权限;如果一个可执行文件拥有s位并且在中间三位时,当别人的用户来执行此文件,使用的权限是此可执行文件属组的权限
[root@localhost test]# ll /etc/shadow
-r-------- 1 root root 1425 Mar
[root@localhost test]# ll /usr/bin/passwd
-rwsr-xr-x 1 root root 22960 Jul 17
--通过上面的权限可知,普通用户修改密码使用passwd能改自己的密码,但是密码是存放在/etc/shadow里,也就是说普通用户对/etc/shadow没有写的权限,但passwd可执行文件的前三位有s位,所以普通在调用passswd时是用的root的权限
(2)粘帖位(t)
当一个目录共享给其他用户使用并且用户可以上传文件和删除文件,但是只能删除自己的文件,那么就必须用到粘帖位(t),特别用在/tmp目录。只针对目录有效。
有t位的目录,任何用户在有权限的情况下是可以创建文件和目录,就算是有权限删除别人的文件或目录也不能删除,同时互相也不能强制保存修改,自己只能删除自己创建的目录,用于一些共享上传的文件服务器场合
[root@www test]# ll -ld /tmp/
drwxrwxrwt. 72 root root 12288 Aug 23 20:26 /tmp/
--s位和t位都是占用x位,那么是否有x位,主要是看s或t的大小写来判别;
3、隐藏属性权限--
i 权限,具备i 权限的文件将无法删除,修改,重命名等
命令查看隐藏权限和修改隐藏权限有以下命令
lsattr
chattr
[root@localhost /]# lsattr
------------- /etc/shadow
[root@localhost /]# chattr +i/etc/shadow
[root@localhost /]# lsattr
----i-------- /etc/shadow
4、修改权限,通常使用的命令
(1)chmod
(2)chown
(3)chgrp