Linux下文件权限管理轻微总结

Linux下文件权限管理轻微总结

 

 

  此文对linux下文件的权限及其如何管理权限进行介绍,涉及到读“r”写“w”执行“x”三个权限,特殊权限SUIDSGIDSTICKYACLattr的使用。同时对更改文件的指令chmodgetfaclsetfaclchattrlsattr等进行说明。

  


  在linux里,使用“ls  –l  file” 命令便可查看一个文件的权限,如上图,是bin目录的权限查看图,红圈中就是文件的权限,表明文件用户可对文件进行读写执行操作,文件的所属组成员可对文件进行读和执行操作,其他用户可对文件进行读和执行操作,具体解释如下。 

一、一个文件的一般权限组成由“– – – – – – – – – –10个位组成,如下图:

blob.png

1位表示文件的类型:

    一般文件()、目录文件(d)、链接文件(l)、 块文件(b)、字管设备文件(c)、套接字设备文件(s)、管道文件(p

2-4位表示一个文件的所属主(u)的权限:blob.png

    第2位为读权限位,属主有读权限,用“r”表示,无读权限,用“-”表示;

    第3位为写权限位,属主有写权限,用“w”表示,无写权限,用“-”表示;

      第4位为执行权限位,属主有执行权限,用“x”表示,无执行权限,用“-”表示;

第5-7位是文件属组(g)的权限位:blob.png

    第5位为读权限位,属组成员有读权限,用“r”表示,无读权限,用“-”表示;

    第6位为写权限位,属组成员有写权限,用“w”表示,无写权限,用“-”表示; 

      第7位为执行权限位,属组成员有执行权限,用“x”表示,无执行权限,用“-”表示;

第8-10位是文件其他用户(o)的权限位:blob.png

      8位为读权限位,其他成员有读权限,用“r”表示,无读权限,用“-”表示; 

    第9位为写权限位,其他成员有写权限,用“w”表示,无写权限,用“-”表示; 

      第10位为执行权限位,其他成员有执行权限,用“x”表示,无执行权限,用“-”表示

 

二、除了以上说到的文件权限外,linux文件还有其他几种特殊的权限:

1、 SUID权限位,set user ID,它的作用是让不是此文件的所有者在运行此文件时,能临时拥有文件的权限,该命令只对二进制文件有效。用命令“chmod u+s file”可增加用户的s权限,当文件的本身有执行权限时,增加s权限后,执行权限位变为小写“s”blob.png ;文件没有执行权限而增加s权限时,执行权限位变为大写的“S”blob.png

2、 SGID权限位,set group ID,

    A:当对二进制文件设置“s”权限时,用户能临时拥有文件所属组的权限;

    B:当对目录设置“s”权限时,用户在此目录下创建文件,文件的所属组会自动变为该文件所的有组。

3、 sticky权限,此权限只对目录有效,用“chmod g+t file”可以给目录添加sticky权限,当目录拥有sticky权限时,用户在此目录下创建文件或者目录后,只有文件或目录的所有者与root用户才能执行修改删除等操作。


三、除了上述权限之外,还有一个ACL权限

  ACL权限,即Access Control List访问控制列表。使用setfacl命令可以对单独的用户或者组设置权限,如:当一个文件只想增加一个特定的用户的读写权限而不想让更多的用户对文件进行操作,就可以使用此权限。增加权限后,用户的权限属性后面会多了个“+”号,blob.png

常用的设置命令有:

1)   查看文件是否有acl权限设置:getfacl file

2)   设置文件只对某个单独的用户有读写权限:setfacl –m u:username:rw file

3)        设置文件只对指定的组有权限:setfacl –Rm u:groupname:rw file|directory

4)        用脚本对文件进行批量增加权限:setfacl –M file.acl file|directory

5)        给目录增加权限:setfacl –m –d:u:username:rx directory

6)        删除文件facl权限:setfacl –x u:username file|directory

7)        使用脚本删除facl权限: setfacl –X file.acl directory

 

四、两个特殊权限设定命令(chattr、lsattr)

       能对一个文件进行锁定操作,当一个文件设置了attr权限后,root用户都不能更改此文件。这条命令能很好的保护文件不被误删

1)  chattr +i file ,用了此命令后,文件不能被修改;

2)  lsattr file ,查看文件是否增加了attr权限

原创文章,作者:yaoqin.liang,如若转载,请注明出处:http://www.178linux.com/58385

(0)
yaoqin.liangyaoqin.liang
上一篇 2016-11-07 20:20
下一篇 2016-11-07

相关推荐

  • 0811linux基础小记(shell编程基础)

    1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash echo "hostname: `hostname`" echo "OS VERSION: `cat /etc/issue`" e…

    Linux干货 2016-08-15
  • ☞实时数据同步方案{ rsync; inotify; }

    实时数据同步方案{ rsync; inotify; } rsync 传输数据 安装 rsyncd 服务 CentOS 6 CentOS 7 配置 rsyncd 服务 配置 rsync 手动同步示例     启动 rsyncd 服务 CentOS 6 CentOS 7 rsync 客户端命令 rsync 数据传输功能 基…

    Linux干货 2016-10-29
  • 内部命令与外部命令——Linux基本命令(3)

    1.     内部命令与外部命令 内部命令:由shell自带的,而且通过某命令形式提供 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令:在文件系统路径下有对应的可执行程序文件 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。 2.     命令类…

    2017-07-13
  • 【招聘】北京/互联网/运维工程师/7-15K/双休,五险一金

    岗位职责:   1、负责服务器的规划、调试优化、日常监控、故障处理、数据备份、日志分析等工作;   2、参与运维流程制定,确保任何突发情况都能高效响应;  3、负责服务器部署,对服务器构架和网络进行优化和改进;  4、负责运维相关数据的收集、分析和总结;  5、负责技术运维相关的文档、手册…

    Linux干货 2016-04-05
  • Mysql备份II

    Mysql备份II V.II.I单台或共用机器,数据量和访问量小50G< 1 Mysqldump(全导出,导库,导表) 锁表 如果这时有些入会锁住或者超时 2 至少停止写入 防止innodb配置还没刷到磁盘里 先flash tables /usr/local/mysql/bin/mysqladmin -S /tmp/mysql.so…

    Linux干货 2016-06-09
  • 马哥Linux第四周作业

    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限 ~]# cp -r /etc/skel/ /home/user1 ~]# chmod -R g0-rwx /home/user1/ 2.编辑/etc/group文件,添加组hadoop 编辑/etc/group 写入:hado…

    2018-01-07