权限管理

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
下一篇 2016-08-03

相关推荐

  • Shell——Linux基本命令(2)

    1.Shell Shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行. shell也被称为LINUX的命令解释器(commandinterpreter). vshell是一种高级程序设计语言. 2.bash shell GNUBourne-AgainShell(bash)是GNU计划中重要的工…

    2017-07-13
  • 一次css页面加载异常的折腾

    1       原始需求 近期在搭建平台,因多域名会分割流量,所以希望将类似 ansible.178linux.com  salt.178linux.com qa.178linux.com 这些平台整合为一个平台,所示如下 ansible.178linux.com =è www.178li…

    系统运维 2015-06-10
  • 在CentOS中获取命令帮助

    在CentOS中获取命令帮助    在使用和学习CentOS系统中,当我们遇上不熟悉的命令却又需要了解它的详细用法的时候,我们需要获取帮助。除了借助他人和搜索引擎之外,自己通过查看系统帮助文档来解决问题是很重要的。下面就来介绍如何获取帮助以及简单的解决思路:    一、如何获取命令帮助 Linux提供多层次的命令帮助:…

    Linux干货 2016-07-27
  • nginx负载均衡实验

    实验一、 实验环境:     1、一台director主机。并部署nginx服务。        内网iP:192.168.1.1  外网iP:10.1.64.1     2、一台后端服务器。并部署h…

    Linux干货 2016-10-30
  • 终端的类型

    Linux下的终端是一个连接系统的接口,它有以下几个分类     tty:虚拟终端       tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。   &nbsp…

    Linux干货 2016-10-20
  • 0805linux基础小记(正则匹配)

    cat -ns file   //-s,压缩重复的空行 cat -T f1  //看到tab键 cat f1|tr '\t' '\r' > f2 cat -v f2 //看到^M   tac file //倒的显示 rev file //反向显示每一行 echo {1..10} &g…

    Linux干货 2016-08-07