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)权限,就可以删除此目录下的文件或子目录
是否能删除目录,要求
1、如果是空目录,只要对它的上级有写(w)和执行(x)权限,就可以删
2、如果是非空目录,那么当前用户要对这个目录里的包括上级目录、本身目录以及所有的子目录都有写(w)和执行(x)权限,才可以删除非空目录。

(6)什么时候会出现强制保存的选项?什么时候可以强制保存,什么时候不能?
只有当用户对文件没有写权限的时候,才会在保存时出现要你使用!强制保存的选项;比如上级目录对user1没有写权限,目录里的文件对user1也没有写权限,那么user1不能强制保存这个文件(--但是这个文件是属于其它用户的,才不能强制保存,如果这个文件就是属于user1,文件和目录都没有写权限,也可以强制保存)

而如果把上级目录改为对user1有写权限,就算是目录里的文件对user1没有写权限,user1也可以强制保存这个文件,并且保存后,属主和属组会变为user1;这种情况会比较混乱(特别是文件服务器的情况),所以目录一般默认权限就是755,避免除开目录属主外的用户能够写

--总结:
(1)只有当用户对文件没有写权限的时候,才会在保存时出现要你使用!强制保存的选项
(2)你是文件的所有者,不管对上级目录还是文件本身有何权限,都可以强制保存。
(3)你不是文件的所有者,对上级目录有写权限,就可以强制保存,并且强制保存后,owner和group改变成你自己这个用户了。

2、特殊位导致权限变化一般有以下两种
(1)特权位(s)
setuid s位在前三位
setgid s位在中间三位
特权位只针对文件有效,并且只能添加在权限位的前三位和中间三位;一个可执行文件拥有s位并且在前三位时,当别的用户来执行此文件,使用的权限是此可执行文件属主权限;如果一个可执行文件拥有s位并且在中间三位时,当别人的用户来执行此文件,使用的权限是此可执行文件属组的权限
[ test]# ll http://www.qixoo.qixoo.com/etc/shadow
-r-------- 1 root root 1425 Mar 7 16:42/etc/shadow
[ test]# ll http://qkxue.net/usr/bin/passwd
-rwsr-xr-x 1 root root 22960 Jul 17 2006/usr/bin/passwd
--通过上面的权限可知,普通用户修改密码使用passwd能改自己的密码,但是密码是存放在/etc/shadow里,也就是说普通用户对/etc/shadow没有写的权限,但passwd可执行文件的前三位有s位,所以普通在调用passswd时是用的root的权限

(2)粘帖位(t)
当一个目录共享给其他用户使用并且用户可以上传文件和删除文件,但是只能删除自己的文件,那么就必须用到粘帖位(t),特别用在/tmp目录。只针对目录有效。
有t位的目录,任何用户在有权限的情况下是可以创建文件和目录,就算是有权限删除别人的文件或目录也不能删除,同时互相也不能强制保存修改,自己只能删除自己创建的目录,用于一些共享上传的文件服务器场合
[ test]# ll -ld /tmp/
drwxrwxrwt. 72 root root 12288 Aug 23 20:26 /tmp/

--s位和t位都是占用x位,那么是否有x位,主要是看s或t的大小写来判别;
大写,表示没有执行权限x位
小写,表示有执行权限x位

3、隐藏属性权限--
i 权限,具备i 权限的文件将无法删除,修改,重命名等
命令查看隐藏权限和修改隐藏权限有以下命令
lsattr --listfile attributes on a Linux second extended file system
chattr --change file attributeson a Linux second extended file system

[ /]# lsattr /etc/shadow
------------- /etc/shadow
[ /]# chattr +i/etc/shadow ---添加i 权限
[ /]# lsattr /etc/shadow --有了i 权限后,此文件就不能改动,root用户都不行
----i-------- /etc/shadow

4、修改权限,通常使用的命令
(1)chmod --change file access permissions
(2)chown --change file owner and group
(3)chgrp --change group

推荐阅读:

Linux ACL权限规划:getfacl,setfacl使用

Linux权限补充:rwt rwT rws rwS 特殊权限

Linux用户及用户组权限

Linux文件目录权限浅谈的更多相关文章

  1. linux文件目录权限详解(20170101)

    linux目录权限与文件权限是不同的,二者要相互配合,这是基础. 比如要读文件:目录至少要有x,文件至少要有r. 要写文件:目录至少要有x,文件至少要有rw. 要执行文件:目录至少要有x,文件至少要有 ...

  2. Linux特殊符号浅谈

    Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...

  3. linux安全加固浅谈

    难易程度:★★★阅读点:linux;python;web安全;文章作者:xiaoye文章来源:i春秋关键字:网络渗透技术 前言linux被越来越多的企业使用,因此掌握一些基本的linux安全加固是有必 ...

  4. linux 文件目录权限

    文件目录权限: 什么是文件权限: 在Linux中,每个文件都有所属的所有者,和所有组,并且规定了文件的所有者,所有组以及其他人对文件的,可读,可写,可执行等权限. 对于目录的权限来说,可读是读取目录文 ...

  5. linux文件目录权限和系统基础优化命令(yum源配置)

    一.用户 1.介绍 我们都知道linux中有root用户和普通用户,但是同样是普通用户,为什么有些用户的权限却不一样呢?其实这就类似于我们的QQ群,root用户就是QQ群主,他拥有最高的权利,想干什么 ...

  6. linux文件目录权限操作

    设置修改文件的属主或修改文件属组 [root@localhost ~]# ll test.txt -rw-r--r--. 1 root root 0 Oct 21 12:01 test.txt [ro ...

  7. Linux文件目录权限总结

    代表字符 权限 对文件含义 对目录含义  r 读权限 允许查看文件内容 允许列出目录中内容 w 写权限 允许修改文件内容 允许在目录中创建或删除文件 x 执行权限 允许执行文件 允许进入目录

  8. 16. Linux 文件目录权限

    # 文件参数 d:表示是一个目录-:表示这是一个普通的文件l: 表示这是一个符号链接文件,实际上它指向另一个文件b.c:分别表示区块设备和其他的外围设备,是特殊类型的文件s.p:这些文件关系到系统的数 ...

  9. linux服务器开发浅谈

    [开发前准备] 在进行linux服务器开发之前,必须很清楚地了解所开发的对象需要考虑的相关问题比如:功能架构:提供服务的模块体系结构稳定性:服务器的出core率,内存泄露情况性能:请求与返回的速度与正 ...

随机推荐

  1. 会报编译器警告的Xcode 6.3新特性:Nullability Annotations

    最近在用Xcode 6.3写代码,一些涉及到对象的代码会报如下编译器警告: 1 Pointer is missing a nullability type specifier (__nonnull o ...

  2. Spring小练习之宝宝淘项目

    数据库准备 # 表结构 CREATE TABLE `t01_user` ( `) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `) DEFAULT NULL COM ...

  3. 【WPF】无边框窗体

    之前写了一个支持尺寸变换的无边框窗体的一个基窗体,代码如下: public class LBaseWindow : Window { /// <summary> /// 基窗体 /// & ...

  4. 20135326、20135303-linux实验一实验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础  班级:1353 姓名:王亦可 .魏昊卿 学号:20135326.20135303 成绩:       ...

  5. JavaScript split() 方法

    split() 方法用于把一个字符串分割成字符串数组.

  6. 同步git修改文件到远端服务器脚本

    #!/usr/bin/perl -w @files=`git status -s` ; @sync_files = (); foreach (@files) { ); # 固定前2个字符为状态 + 1 ...

  7. 使用Nginx解决IIS绑定域名导致应用程序重启的问题

    在将多个站点迁移到一个站点(Tenant Feature)的时候碰到了一个棘手的问题,用户需要绑定自定义域名,但IIS绑定域名的时候会导致这个站点重启,那么只要一个用户绑定了一个域名则会导致这个应用上 ...

  8. 多个相同name的文本输入框,输入其中一个后,使剩下的不能输入值

    可以用blur或keyup事件响应: 实现一: <body> <input type="text" id="AfterOtOt1" name= ...

  9. [工具类]文件或文件夹xx已存在,则重命名为xx(n)(2)

    写在前面 最近一直在弄文件传输组件,其中一个功能就是,在接收端接收文件时,如果文件已经存在了,则对其进行文件名+索引的方式进行自动重命名,之前也写个类似的工具类,总感觉代码太冗余,每回头想想,总觉得心 ...

  10. JAVA package-info文件【转】

    翻看以前的笔记,看到一个特殊的java文件:pacakge-info.java,虽然有记录,但是不全,就尝试着追踪一下该问题, 分享一下流水账式的结果. 首先,它不能随便被创建.在Eclipse中, ...