Linux中的文件和目录的权限管理

Linux系统通过完善的权限管理来限制每一个用户对于系统中文档和目录的访问。在Linux系统中,文件和目录的权限是有些差异的。
一、权限介绍:
如上所示,通过ll命令列出目录下文件的时候同时也会列出文件的权限,从第二位开始,一直到第九位,即rw-r–r–就是文件的权限描述:其中3位为一组:
第一组:rw-:代表文件的属主(user)对文件的权限;
第二组:r–:代表文件的属组(group)对文件的权限:
第三组:r–:代表其他人(other)对文件的权限;
1.1权限分类:
文件的权限又分为三种:
r:读权限
w:写权限
x:执行权限
这三种权限对于文件和目录来说意义也是不一样的:
对文件:
r:可以通过cat等文档查看命令查看该文件;
w:可以编辑该文件的内容;
x:可以执行该文件;
对目录:
r:可以通过ls命令列出目录下的文件;
w:可以在目录下新建、删除、移动文件;
x:可以通过cd命令切换到目录下;
1.2 修改文件属主、属组和权限:
文件属组,属组和权限的更改:
chown 属主:属组 文件名
-R:递归修改文件属主和属组
chgrp 属组 文件名
-R:递归修改文件属组
修改文件的权限通过chmod命令:
其中有两种修改方法:
1、字符修改法:
其中:
u:属主
g:属组
o:其他人
a:所有人
例子:
chmod u+x test:代表给test的属主加上执行权限;
chmod u=rwx test:代表给test的属主所有权限;
chmod a=rwx test:所有人对test文件都有读、写和执行的权限;
2、数字表示法:
通过八进制来表示读、写和执行权限:
r:4
w:2
x:1
例子:
chmod 777 test:代表所有人对test有读写和执行权限;
chmod 644 test:代表属主有读、执行权限,属组有读权限,其他人有读权限;
二、umask介绍:
反掩码umask的介绍
创建一个新文件的时候文件的默认权限就是通过去除umask来生成的:
root用户的反掩码为0022
普通用户的反掩码为0002
其中:
r=4
w=2
x=1
创建一个文件的时候其权限就是rw-rw-rw-去除—-w–w-,所得即为:rw-r–r–
创建一个目录的时候其权限就是rwxrwxrwx去除—-w–w-,所得即为:rwxr-xr-x
通过umask+反掩码即可修改反掩码;
三、文件的特殊权限:
SUID:只作用于文件当用户在执行一个具有SUID权限的文件的时候,该用户会临时取得该文件属主的权限来执行此文件,常用于系统文件;
如passwd属于root用户和root组,但是普通用户也可以使用该文件来修改自己的密码,就是因为passwd具有SUID权限:
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /bin/passwd;其中属主权限的s位表示passwd具有SUID权限;
SGID:作用于文件和目录,对文件来说,如果其拥有SGID权限,那么其他用户就可以用文件拥有者的身份来执行此文件;对目录来说,主要用于团队协作;
Sticky:只作用于目录,在具有Sticy权限的目录下所有用户都可以创建文件,但是只有文件的属主可以删除自己的文件,其他人没有删除别人文件的权限,比如/tmp目录:
drwxrwxrwt. 20 root root 4096 Apr 1 09:25 /tmp/ ;其中其他人权限的t位表示目录具有Sticky权限;
修改特殊权限:
特殊权限区分如下:
SUID:4
SGID:2
Sticky:1
通过chmod修改特殊权限:
如:chmod u+s test:表示赋予test文件SUID的权限:其权限变为:-rwSr–r–. 1 root root 0 Apr 1 09:28 test
chmod g+s test:表示赋予testSGID权限:-rwSr-Sr–. 1 root root 0 Apr 1 09:28 test
chmod o+t /test:表示赋予test目录Sticky权限:drwxr-xr-t. 2 root root 6 Apr 1 09:29 test
四、文件的隐藏权限:
-rw-r–r–. 1 root root 2949458 Mar 31 17:50 access_log
文件的第11位是隐藏权限位,隐藏权限为分为两种:
i:表示不能删除、改名、更改文件
a:表示只能追加文件内容
它的设置方法为:
Chattr +i|-i test
Chattr +a|-a test
查看方法lsattr test
五、文件访问控制列表ACL
可以通过对文件添加ACL来控制不同用户对文件的访问,是否开启通过SELinux来进行控制;
1、查看ACL:
[root@localhost ~]# getfacl access_log

file: access_log

owner: root

group: root

user::rw-
group::r–
other::r—
2、设置ACL,允许wzh对access_log文件具有rwx权限:
[root@localhost ~]# setfacl -m user:wzh:rwx access_log
[root@localhost ~]# getfacl access_log

file: access_log

owner: root

group: root

user::rw-
user:wzh:rwx
group::r–
mask::rwx
other::r–

原创文章,作者:王子豪,如若转载,请注明出处:http://www.178linux.com/72269

(0)
王子豪王子豪
上一篇 2017-03-31
下一篇 2017-04-01

相关推荐

  • 程序包管理的前端工具YUM及案例一二

    程序包管理前端工具–YUM        yum:yellowdog update modifier        yum工具为CS架构 yum仓库(yum repository):yum repo   &n…

    Linux干货 2016-08-24
  • HAProxy 入门及基础负载应用

    A、首介 。。。         HAProxy——开放源代码软件,是一款代理服务器和伪4层的负载均衡软件解决方案。基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持高并发链接,它的工作模式可以将其简单而安全地整合到当前的服务架构中,同时可以保护你的WEB服务器不暴露到…

    Linux干货 2017-05-17
  • nmcli及网络配置

    2017-09-10
  • find查找命令及压缩

    文件查找     在文件系统上查找符合条件的文件;     文件查找: locate, find         非实时查找(数据库查找): locate    &nbs…

    Linux干货 2016-08-18
  • 什么是网站流量、UV、PV、IP

    什么是网站流量,什么叫网站流量?     通常说的网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。     …

    Linux干货 2015-03-20
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 2、写一个脚本     (1) 获取当前主机的主机名,保存于hostname变量中;     (2) 判断此变量的值是否为loc…

    2017-04-20

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:36

    主要总结了linux下的文件及目录权限的管理,内容写的很不错,排版有待加强。