权限管理

1、创建组sales,gid 3000,passwd:centos,sales admins:user2

将用户user1,user2,user3加入到sales辅助组

希望user1 创建新文件 默认的所属组为sales

user2将用户user3从sales组移除

# groupadd -g 3000 sales 

# gpasswd sales

# useradd -G sales user1

# useradd -G sales user2

# useradd -G sales user3

# gpasswd -A user2 sales

# su user2

# gpasswd -d user3 sales

11.png

2、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。

# mkdir -pv /date/testdir

# groupadd g1

# groupadd g2

# groupadd g3

# chown :g1 /date/testdir

# chmod 750 /date/testdir

# chmod g+s /date/testdir

# setfacl -Rm d:g:g2:rw /date/testdir

# setfacl -Rm d:g:g3:r /date/testdir

# getfacl /date/testdir

# usermod -g g1 user1

# usermod -g g2 user2

# usermod -g g3 user3

# su user1

$ touch f1

$ ll

$ echo xxx > f1

$ cat f1

$ exit

# getfacl f1

权限管理

权限管理

3、三种权限,三种特殊,acl,chattr 总结

文件权限

文件:

r: 可使用文件查看类工具获取其内容

w: 可修改其内容

x: 可以把此文件提请内核启动为一个进程

目录:

r: 可以使用ls 查看此目录中文件列表

w: 可在此目录中创建文件,也可删除此目录中的文件

x: 可以使用ls -l 查看此目录中文件列表,可以cd进入此目录

Linux文件系统上的特殊权限

SUID, SGID, Sticky

SUID权限:

SUID只作用与可执行的二进制文件上

用户运行该程序时,自动继承该程序所属主的权限

SGID权限:

作用在二进制的程序上:

用户运行该程序时,自动继承该程序所属组的权限

作用在目录上:

该目录内新建的文件或目录的所属组自动继承与该文件的所属组

Sticky权限:

防止某些用户对该目录有权限,则胡乱删除该目录下的(属主是自己或属主不是自己)文件

在目录设置Sticky位,只有文件的所有者或root可以删除该文件,即除root用户外,其他用户只能删除属主是自己的文件

ACL:访问控制列表 Access Control List

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

比如设置某一用户能以rwx权限访问一指定文件,而其他用户按照u,g,o权限对文件进行访问

getfacl file |directory

查看文件或目录的访问控制列表

setfacl -m u:gao:rx file|directory

设置gao用户,对目录或文件,不以u,g,o所对应的权限访问文件,而是以rx权限访问文件

setfacl -m d:u:gao:rx directory

设置gao用户,对目录及以后该目录下此命令以后创建的文件,以rx权限访问

setfacl -M file.acl file|directory

以文本的形式,,对多个用户设置某一目录或文件的ACL

setfacl -m d:u:gao:rx directory

清除指定用户的ACL

setfacl -b file1

清除文件所有ACL权限

chattr

+i 不能删除,改名,更改,只能看

+a 不能删除,改名,更改,只能增加

+A FILE 锁定文件,可以防止root用户的误操作

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

(0)
megedugaomegedugao
上一篇 2016-08-03 19:13
下一篇 2016-08-03 19:20

相关推荐

  • sed

    简介     sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主…

    Linux干货 2016-03-22
  • 管理systemd

    管理systemd 一、systemd介绍 回顾一下centos的启动流程  POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/init 在…

    Linux干货 2016-09-22
  • DNS

    配置缓存服务器: #vim /etc/named.conf Options { Listen-on port 53 { 127.0.0.1;172.16.0.68;}; //listen-on-v6 port 53 {::1;}; ……. Allow-query {any;}; …… Dnssec-enable…

    2017-06-04
  • 磁盘分区、软RAID创建及shell脚本参数传递,for循环,运算表达式应用 1、创建一个10G分区,并格式为ext4文件系统。 先使用fdisk工具创建一个10G的新分区。使用fdisk打开要创建磁盘分区的物理设备fdisk /dev/sdb,然后使用n指令创建新的分区,分区类型选此处选择为主分区,第一个柱面使用默认的1,最后的柱面,使用+10G这种表示方…

    Linux干货 2016-12-26
  • Linux磁盘管理及其相关命令使用

    Linux磁盘及文件系统    CPU MEMORY(RAM) I/O    I/O:disks entercard    Disks:持久存储数据    接口类型:      IDE(ata):并行 133MB/s     &n…

    Linux干货 2016-08-26
  • 数组,字符串处理,mktemp命令,install命令,bash的环境配置文件,程序包编译

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。 bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAME(普通数组可以不加声…

    Linux干货 2016-08-24