Linux的文件权限和特殊权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的文件权限和特殊权限相关的知识,希望对你有一定的参考价值。

一、Linux的基本文件权限

1、文件的权限

技术分享图片

当用户不拥有某位权限,则使用-占位
    r-x:读和执行的权限
    r--:只读权限
    rw-:读写权限

使用数字来表示权限:
    r:4
    w:2
    x:1

#=================================================================

2、权限对于文件和目录的区别

对于文件的权限:
    r : 查看 
    w : 修改
    x : 运行

对于目录的权限:
    r : 查看目录内文件列表
    w : 创建和删除文件(需要x权限)
    x : cd进目录
    
#=================================================================

3.权限管理的基本命令

chmod : 修改文件权限
chmod [options]... mode... file 
例:chmod 777 file 
    chmod +x file
    chmod -x file
选项:
    -R :递归修改权限

	
chown : 修改属主属组
chown [options]... user:group file
例:chowm root:root file1
选项:
    -R:递归
	
chgrp:修改组权限
chgrp [options]... GROUP FILE...
例:chgrp group1 file1
选项:
    -R:递归
    
#=================================================================

4.umask:新建文件和目录的默认权限

umask值可以用来保留在创建文件权限

新建FILE权限: 666-umask
    如果所得结果某位存在执行(奇数)权限,则将其权限+1
新建DIR权限: 777-umask

非特权用户umask是002
root的umask 是022

用法:	
    umask: 查看
    umask #: 设定
        umask 002
    umask –S 模式方式显示
    umask –p 输出可被调用
	
umask全局设置:/etc/bashrc ;用户设置:~/.bashrc

#================================================================= 	


二、Linux系统上的特殊权限

        特殊权限:SUID,SGID,STICKY

安全上下文:

前提:进程有属主和属组;文件有属主和属主

(1) 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限

(2) 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组

(3) 进程访问文件时的权限,取决于进程的发起者

权限匹配模型:

(a) 进程的发起者,同文件的属主:则应用文件属主权限

(b) 进程的发起者,属于文件属组;则应用文件属组权限

(c) 应用文件“其它”权限

SUID :
示例文件:/bin/passwd

1.只能作用在二进制程序上。
2.执行该程序的用户将会继承程序所有者的权限。
3.启动成为进程后,其进程属主为原程序文件的属主。

权限设定:
赋权:
chmod u+s file...
chmod 4755 file...
取消赋权:
chmod u-s file...
chmod 0755 file...


SGID:
示例目录:/tmp

1.作用在二进制程序上时:
    (1)执行该程序的用户将会继承程序所属组的权限。	
    (2)启动为进程之后,其进程的属组为原程序文件的属组

2.作用在目录上时:
    (1)普通用户在此目录下新建的文件,都将会继承目录的属组。
	
权限设定:	
    赋权:
    chmod g+s file...
    chmod 2755 file...
    取消赋权:
    chmod 0755 file...
    chmod g-s file...


sticky:
1.只能作用在目录上(作用在文件上无意义)
2.具有sticky权限的目录,普通用户不能删除文件,仅文件所有者可以删除。

权限设定:
    赋权:
    chmod o+t dir...
    chmod 1755 dir..
    取消赋权:
    chmod 0755 dir...
    chmod o-t dir...
	

chattr : 锁定指定的文件
    + : 在原有基础上追加参数
    - : 在原有基础上移除参数
    = : 设定为指定参数
    i : 锁定文件,不能修改或者删除。
    a : 只能向文件中添加数据
    A : 禁止修改atime
    
    
#=================================================================

三、ACL:访问控制表

ALC:Access Control List,访问控制表

除文件的所有者,所属组和其他人,可以对更多的用户设定权限


ACL权限生效顺序:

    所有者 >(自定义用户> 所属组,自定义组) > 其他人

    括号外的用户不收mask影响

getfacl : 查看ACL信息
setfacl : 设置ACL
	
getfacl:
getfacl FILE...
    user:USERNAME:MODE
    group:GROUPNAME:MODE

setfacl:
    -m : 设置acl参数
        -m u:user_name:mode file|dir
        -m g:group_name:mode dir
    -x : 取消acl参数
        -x u:user_name file|dir
        -x g:group_name file|dir	
    -b : 取消全部的ACL权限
    -R :递归
    
#=================================================================


本文出自 “BigBoss” 博客,请务必保留此出处http://bigboss.blog.51cto.com/12113895/1982960

以上是关于Linux的文件权限和特殊权限的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习之十五-Linux文件特殊权限和附加权限

18.1.2-linux目录文件隐藏属性和特殊权限

18.1.2-linux目录文件隐藏属性和特殊权限

Linux特殊文件权限

18.1.2-linux目录文件隐藏属性和特殊权限

linux系统特殊权限和特殊属性,增删改查