分享

linux基础学习【3】

 印度阿三17 2018-10-11

一.umask 命令

        umask 临时设定系统保留的权限(即创建目录时不给予的权限)
例:umask 077 设定对当前用户保留077权限(创立文件时赋予700权限)

配置文件说明

linux基础学习【3】


如图,root用户创建目录A权限为755(umask=022)

student用户创建目录B权限为775(umask=002)

linux基础学习【3】


使用命令<umask 077>,创建目录B时默认权限为700(umask=077)

linux基础学习【3】


注意事项:

1.使用umask命令更改仅在当前shell环境下生效
2.若需永久更改则须更改配置文件

切换环境后创建目录C,默认权限仍为755(umask=022)

更改配置文件

###更改后不会立即生效,需重新读取配置文件

    vim  /etc/profile                 编辑系统配置文件
    vim  /etc/bashrc                 编辑shell的配置文件
    source /etc/profile     重读系统配置文件,让更改立即生效
    source /etc/bashrc  重读shell配置文件,让更改在立即生效

二.特殊权限

1.sticky        粘制位
只针对目录生效,当一个目录上有sticky权限时
在这个目录中的文件只能被文件的所有者删除
两种设定方式:
chmod o t  dir      
chmod 1xxx dir 

添加粘制位,虽然拥有pub目录的rwx权限,但用户st1无法删除其他用户的文件

linux基础学习【3】


2.sgid          强制位
对文件:只针对二进制可执行文件
当文件上有sgid时,任何人执行此文件产生的进程都属于文件目录的所有组
对目录:当目录上有sgid时,任何人在此目录中建立的文件都属于目录的所有组
chmod g s  file/dir
chmod 2xxx file/dir

查看/bin/watch文件的元属性

linux基础学习【3】


用户st1使用watch检测进程名称,使用者用户名,所在组,此时均为st1

linux基础学习【3】


为/bin/watch添加强制位,并且切换到其他用户st1

linux基础学习【3】


重新调用watch,此时user为st1,而group变为watch文件的所属组root

linux基础学习【3】


3.suid          冒险位
当文件上有sgid时,任何人执行此文件产生的进程都属于文件所有者
chmod u s  file
chmod 4xxx file

为watch添加冒险位,并以st1身份执行

linux基础学习【3】


以st1用户执行watch,执行者仍为文件拥有者root

linux基础学习【3】


三.acl权限列表

让特定的用户对特定文件拥有特定权限

acl列表查看

getfacl a 查看文件a的acl权限
setfacl -m u:user:rwx    a  为a文件开启acl权限管理并为指定用户user赋予mask:rwx权限
setfacl -m g:group:rwx   a  为a目录开启acl权限管理并为指定组group赋予mask:rwx权限

linux基础学习【3】


打开acl权限的文件标志(其中‘ ’表示acl开启)

linux基础学习【3】


给目录pub添加acl权限并指定用户st1拥有rwx权限(默认其他所有组成员为r-x)

linux基础学习【3】


如图st1可在/mnt/pub写入,而st2不可

linux基础学习【3】


getfacl权限说明

# file : filename         文件名为filename
# owner: root           文件所有者为root
# group: root           文件所有组为root
user::rw-           文件拥有者对文件的权限为rwx
user::username:rwx   指定用户username对文件的权限为rwx
group::r--          文件所有组对文件的权限为r--
mask::rwx           可赋予用户的最大权限为rwx
other::r--          其他用户对文件的权限为r--

四.mask值

在权限列表中mask表示能生效的权限值(能赋予的最大权限值)
当用chmod减小开启acl的文件权限时,mask会发生变化
    chmod g-w filename 
恢复mask值:
    setfacl -m m:rwx filename

查看目录pub的acl权限,虽然用户st1有rwx权限,但mask=r-x,所以有效权限只有r-x

linux基础学习【3】


acl默认权限只针对目录设定(即默认在该目录下创建的文件继承目录的acl权限,未设定默认不继承)

setfacl -m d:u:username:rwx /filename
acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件时不会

先建立的a文件没有继承acl权限,而设定后的b文件继承了目录的acl权限

linux基础学习【3】

来源:http://www./content-3-47851.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多