美文网首页我爱编程
6、特殊权限和acl

6、特殊权限和acl

作者: 崔千易 | 来源:发表于2018-04-06 05:52 被阅读0次

特殊权限和acl

特殊权限

SUID:

运行某程序时,相应进程的属主是程序文件自身的属主,而不是

用户本身了,只对二进制程序有效,执行者对于程序需要有x权限

例子:passwd命令  需要在/etc/shadow中写入密码

      ls -l /bin/cat

  ls -l /etc/shadow

  chmod u+s file (如果本身具有x,为s,否则为S)

SGID:

  对于文件:运行某程序时,相应进程的属组是程序文件自身的属组,而不是用户本身的基本组

chmod g+s file

例子:locate命令  需要访问/var/lib/mlocate/mlocate.db文件

  对于目录:

          用户对此目录有rx权限可以进入目录

          用户进入此目录后,有效用户组会变成该目录的用户组

          若用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同

例如:

          一个团队想在linux某个目录下协同工作来做一个项目,那么每个团队成员都得对这个目录下的所有文件具有rwx权限。

          于是我们首先新建一个用户组,再新建几个账号,每个账号的用户组都加入刚才新建的那个用户组。

          再新建工作目录,权限设为770,把目录的用户组加上上一步新建的用户组。

          到这里为止,我们思考下会有什么问题?

          现在账号A新建一个文件,新建文件的拥有者和用户组都会是A!重要的是其他用户都无法访问这个文件!

          所以我们需要给这个目录加入SGID权限,之后任意一个用户创建的文件,文件用户组都会是这个目录的用户组。万事OK!

develop team , hadoop hbase hive

/tmp/project  三个用户可以编辑彼此之间创建的文件

#useradd hadoop hbase hive

#mkdir /tmp/project

#groupadd developteam

#chown -R :developteam /tmp/project

#chmod -R 770 /tmp/project

#usermod -a -G developteam hadoop

#chmod g+s /tmp/project

Sticky (BIT):

        只针对目录有效,当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除。

在一个公共目录,每个人都可以创建文件,删除自己的文件,

但是不能删除别人的文件(冒险位,粘贴位)

例子:chmod o+t dir

SUID是4  SGID是2    SBIT是1

    chmod 4755 filename

    第一个7代表的就是这三个特殊命令,后面的755是普通权限。上面的命令把filename这个文件加入了SUID权限

文件系统访问控制列表

FACL:filesystem access control list

利用文件的扩展属性,保存了额外的访问控制权限

getfacl  查看

setfacl  设置

语法:setfacl [-bkRd]  [-m|-x acl 参数]  目标文件名

选项与参数:

-m:设置后续的acl参数,不可与-x一起使用

-x: 删除后续的acl参数,不可与-m一起使用

-b:删除所有的acl参数

-k:删除默认的acl参数

-R:递归设置acl参数

-d:设置默认acl参数,只对目录有效

setfacl -m m:rw inittab

-m设定,可以设定到用户或者是组上

u:uid:perm

g:gid:perm

例子:

#mkdir /backup

#cd /backup

#cp /etc/inittab ./

#getfacl inittab

#setfacl -m u:redhat:rw inittab

owner>facl,user> group > facl group>

所有权限都不能超过mask的权限

setfacl -m m:rwx [filename or directory_name]

-x取消

setfacl -x u:uid file_name

为目录设定默认访问控制列表:

d:u:uid:perm file_name

mount -o acl /dev/myvg1/mylv1 /mnt

dumpe2fs -h /dev/myvg1/mylv1(查看是否支持ACL)

tune2fs -o

例子:   授权一个用户读权限

              setfacl -m u:lisa:r file

      Revoking  write  access  from  all  groups and all named users (using the

      effective rights mask)

  撤销所有的组和用户的写权限(使用有效的正确mask)

              setfacl -m m::rx file

      Removing a named group entry from a file’s ACL

  移除一个组的ACL权限

              setfacl -x g:staff file

      Copying the ACL of one file to another

  复制一个文件的ACL到另一个文件

              getfacl file1 | setfacl --set-file=- file2

      Copying the access ACL into the Default ACL

  复制访问的目录的ACL作为目录的默认ACL

              getfacl --access dir | setfacl -d -M- dir

相关文章

  • 6、特殊权限和acl

    特殊权限和acl 特殊权限 SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是 用户本身了,只对...

  • 用户权限,特殊权限,ACL

    用户权限 在Linux系统中,一个用户对文件所能执行的权力称为用户权限 文件属性 权限位 rwx rwx rwx从...

  • 20170724 文件权限

    概要 linux文件权限linux文件特殊权限ACL 访问控制列表 一、linux文件权限 (一)linux文件属...

  • (六)ACL控制和特殊权限

    感觉这章以后用的很少,只是简单记录 一 ACL权限简介 用来解决身份不够用的问题 1.1 查看分区ACL权限是否...

  • 用户权限、特殊权限和ACL.md

    1.基本概念 linux 安全上下文 运行中的程序:进程 (process)以进程发起者的身份运行:root: /...

  • liunx 配置acl setfacl/getfacl

    添加acl权限setfacl : 获取acl权限getfacl : 用法: setfacl [-bkndRLP] ...

  • ACL权限

    ACL权限ZooKeeper的ACL可针对znodes设置相应的权限信息。 一个 ACL 权限设置通常可以分为 3...

  • 权限管理

    ACL权限 ACL权限简介与开启 对于一个文件和目录的权限只有三种权限:所属主、所属组、其他人。当权限关系比较复杂...

  • (2)zookeeper-ACL,watcher,ZAB协议,L

    1,ACL:Access Control List 权限控制 ACL 支持权限: 2,watcher:监听 这个...

  • Linux权限管理--ACL权限

    Linux setfacl 命令帮助: 选项 Linux权限管理--ACL权限 ACL权限不是针对某个文件或某个目...

网友评论

    本文标题:6、特殊权限和acl

    本文链接:https://www.haomeiwen.com/subject/ipsjhftx.html