一、属性和权限的基本概念

Linux一般将档案可存取的身份分为三个类别,分别是 owner/group/others,这三种身份各有 read/write/execute 等权限。

所有的系统上的账号与一般身份使用者,还有那个root的相关信息, 都是记录在/etc/passwd这个档案内的。个人的密码则是记录在/etc/shadow这个档案下。 此外,Linux所有的组名都纪录在/etc/group内

用ls -al查看目录下的文件,a表示看所有文件,l表示以列表的形式显示。

1. 第一栏代表这个档案的类型与权限(permission):

第一个字符代表这个档案是『目录、档案或链接文件等等』:

1) 当为[ d ]则是目录;
2) 当为[ - ]则是档案,包括纯文件档,二进制文件,数据格式文件
3) 若是[ l ]则表示为连结档(link file);
4) 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
5) 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
6) 若是[ s ]则表示资料接口文件sockets
7) 若是[ p ]则表示为数据输送文件。

接下来的字符中,以三个为一组,均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x
]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

第一组为『档案拥有者的权限』,第二组为『同群组的权限』,第三组为『其他非本群组的权限』。

2. 第二栏表示有多少档名连结到此节点(i-node):

3. 第三栏表示这个档案(或目录)的『拥有者账号』

4. 第四栏表示这个档案的所属群组

5. 第五栏为这个档案的容量大小,默认单位为bytes

6. 第六栏为这个档案的建档日期或者是最近的修改日期

7. 第七栏为这个档案的档名
比较特殊的是:如果档名前多一个『 . 』,则代表这个档案为『隐藏档』,例如上表中的.gconf那一行,该档案就是隐藏档。

二、权限相关的命令

我们用下面的命令来设置目录和档案的权限:

1. chgrp:改变所属群组.

chgrp 参数 group dirname/filename

选项与参数

-R:进行递归变更

2. chown:改变档案拥有者,可以顺便修改群组

chown 参数 账号名称 档案或目录

chown 参数 账号名称:组名 档案或目录

选项与参数

-R:进行递归变更

3. chmod:改变权限

1) 数字类型改变档案权限:

chmod [-R] xyz 档案或目录

选项与参数:

xyz : 数字类型的权限属性,为 rwx 属性数值的相加。

-R : 进行递归变更

2) 符号类型改变档案权限

u代表user,g代表group,o代表others,a代表所有。

+加入,-除去,=设定

r代表读,w代表写,x代表执行

chmod u=rwx,go+rx .bashrc

4. umask:档案预设权限

umask 查看权限

umask -S 以符号类型的方式来显示出权限

umask xyz 设置权限

建立档案时,默认权限为:-rw-rw-rw-
建立目录时:默认权限为:drwxrwxrwx

用建立档案和目录时的默认权限来减去umask预设权限就是新建的档案或目录实际的权限。

四、档案隐藏属性

1. 档案的一些隐藏属性:

1) A: 存取此档案(或目录)时,他的访问时间 atime 将不会被修改,可避免I/O较慢癿机器过度的存取磁盘。这对速度较慢的计算机有帮助

2) S :一般档案是异步写入磁盘的,如果加上 S 这个 属性时,任何更新都会『同步』写入磁盘中。

3) a :档案将只能增加数据,而不能删除或修改数据,叧有root 才能设定这个属性。

4) c :自动将此档案『压缩』,在读取的时候将会自动解压缩, 在储存的时候,将会先进行压缩后再储存(对于大档案比较有用!)

5) d :设定 d 属性将可使该档案(或目录)不会被 dump 备份

6)i :让一个档案『不能被删除、改名、设定连结也无法写入或新增资料!』对于系统的安全性有很大的帮助!只有 root 能设定此属性

7) s :如果这个档案被删除,他将会被完全移除出这个硬盘空间,所以如果误删了,就无法救回了喔!

8) u :如果该档案被删除了,则数据内容其实还存在磁盘中,可以救回该档案!

2.配置隐藏属性:

chattr [+-=]属性 档案或目录名称

选项与参数:

+ :增加某一个特殊参数,其他原本存在属性则不动。

- :移除某一个特殊参数,其他原本存在属性则不动。

= :设定属性

3.查看隐藏属性:

lsattr [-adR] 档案或目录

选项与参数:

-a :显示隐藏文件;

-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;

-R :连同子目录的数据也一并列出来!

五、档案与目录的特殊权限

1. SUID权限,s标记在owner的x位置

该权限仅对二进制程序有效且需要执行者对程序有执行权限,这样就能使执行者在执行的过程中具有该程序拥有者的权限。

2. SGID权限,s标记在group的x位置

该权限仅对二进制程序有效且需要执行者对程序有执行权限,这样就能使执行者在执行的过程中具有该程序群组的权限。

3. SBIT权限,

该权限针对目录有效,需要用户对目录有写和执行的权限,当用户在该目录下建立档案或目录时,仅有自己与root才有删除权限。

4. 特殊权限的修改,用chmod指令。

Linux学习之二——档案与目录的属性和权限的更多相关文章

  1. Linux学习之三——操作档案与目录

    一. 目录文档操作指令 1. pwd 显示目前所在目录 如果加上-P 的选项,则取得正确的目录名称,而不是以链接文件的路径来显示. 例如CentOS下,刚刚好/var/mail是/var/spool/ ...

  2. 【linux学习笔记二】常见目录的作用

  3. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  4. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  5. Linux系统文件和目录的属性及权限

    1 文件属性概述 Linux系统中的文件或目录的属性主要包括:索引节点(inode).文件类型.权限属性.硬链接数.所归属的用户和用户组.最近修改时间等内容(文件名严格来说不属于文件的属性): 下面是 ...

  6. Linux 文件和目录的属性及权限

    一.Linux中的文件 1.1文件属性概述 Linux里一切皆文件! Linux系统中的文件或目录的属性主要包括;索引节点(inode).文件类型.权限属性.链接数.所归属的用户组.最近修改时间等内容 ...

  7. Linux文件和目录的属性及权限总结

    本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...

  8. Linux文件和目录的属性及权限

    Linux文件和目录的属性及权限讲解 文字解释: 第一列:inode索引节点 第二列:文件类型及权限 第三列:硬链接个数 第四列:文件或目录所属的用户(属主) 第五列:文件或目录所属的用户所归属的组( ...

  9. Linux学习笔记05—文件与目录权限

    1. 绝对路径与相对路径绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/local/mysql 这就是绝对路径相对路径:路径的写法不是由根目录 ‘/’写起,例如:首先用户进入到/, 然后 ...

随机推荐

  1. Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?

    今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...

  2. springMVC图片文件上传功能的实现

    在工程依赖库下添加文件上传jar包 commons-fileupload-1.2.2.jar commons-io-2.4.jar 2.jsp页面设置form表单属性enctype 在表单中上传图片时 ...

  3. ASP.NET WebAPI 14 仿写Filter管道

    WebAPI中有设计了几种管道(Channel),大概如下:HttpMessageHandler,ActionFilter管道,ExceptionFilter管道.在三种管道中HttpMessageH ...

  4. ASP.NET Web API 路由

    路由系统是请求消息进入ASP.NET Web API消息处理管道的第一道屏障,其根本目的是利用注册的路由表(RouteTable)对请求的URI进行解析以确定目标HttpController和Acti ...

  5. spring bean加载顺序指定方式之一

    在某些情况下,我们在容器启动的时候做一些事情,举个例子,加载缓存等.. 此时我们会希望某个bean先被加载并执行其中的afterpropertiesset方法. 因为spring默认是通过contex ...

  6. 每日微软面试题——day 6(打印所有对称子串)

    每日微软面试题——day 6(打印所有对称子串) 分类: 2.数据结构与算法2011-08-14 14:27 9595人阅读 评论(15) 收藏 举报 面试微软string测试systemdistan ...

  7. Visual Studio添加dll程序集引用操作步骤

    Visual Studio 中添加引用的操作: 在“解决方案资源管理器”中,先右击项目图标,在弹出菜单选择“添加引用...” 然后在弹出的窗口中选择所要添加的选项,点击确定就可以了. 原文:http: ...

  8. 微信公共平台开发1 .net

    如果想通过微信去开发(当然,指的是开发模式下),首先 建议先申请一个服务号,因为服务号的功能与接口也多,有些功能订阅号是实现不了的.另外申请过以后必须得通过微信 认证才能开发,好像是得付300大洋,高 ...

  9. 导出你的GAC Assembly中的DLLS -- 金大昊(jindahao)

    导出你的GAC Assembly中的DLLS   方法1: CMD命令中,进入C:\windows\assembly,然后XCOPY GAC_MSIL c:\temp /E 这样就得到了dlls了,以 ...

  10. 【读书笔记】iOS-开发技巧-UILabel内容模糊的原因

    在非Retina的iPad mini的屏幕上,一个UILabel的frame的origin值如果有小数位数(例如,0.5),就会造成显示模糊.所以最好用整数值的origin坐标. 参考资料: < ...