权限管理

简介:

Linux运维第二阶段(五)权限管理

一、权限管理(解决用户和身份不足的问题)

         #dumpe2fs  -h /dev/sda2             (查询指定分区详细文件系统信息的命令,-h仅显示超级块中的详细信息)

         #mount  -o remount,acl  /             (重新挂载根分区,加入acl权限)

acl基本命令:

         #getfacl  文件名                      (查询文件的acl权限)

         #setfacl  -m  u:用户名:权限  文件名

         #setfacl  -m  g:组名:权限  文件名

         #setfacl  -m  u:用户名:权限 –R  /test  (赋予递归acl权限,只能赋予目录)

         #setfacl  -m d:u:用户名:权限–R  /test   (加入默认权限,默认权限只能赋予目录)

         #setfacl  -b /test                       (删除acl所有权限)

         #setfacl  -x u:aa                        (删除指定用户和用户组的acl权限)

         注意:如果给目录赋予acl权限,以下两条命令都要:

         #setfacl  -m  u:用户名:权限  /test   (只对已经存在的文件生效)

         #setfacl  -m d:u:用户名:权限  /test  (只对未来要新建的文件生效)

         最大有效权限mask(实际设置的权限与最大权限相与才是有效权限,effective

         #setfacl  -m m:rx  project/            (设定mask权限为rx,使用“m:权限”格式)

         #getfacl  project/

二、sudo授权

         #visudo     (与操作vi一样)

         root                  ALL=(ALL)                          ALL

         用户名     被管理主机的IP=(可使用的身份)         授权命令(绝对路径)

         %wheel                ALL=(ALL)                          ALL

         %组名      被管理主机的IP=(可使用的身份)         授权命令(绝对路径)

         用户名/组名:代表root给哪个用户或组赋予命令,注意组名前加“%

         被管理主机的IP:如果写ALL代表可以管理任何主机,如果写固定IP,代表用户可以管理指定的服务器。这里的IP指的是用户可以管理哪个IP地址的服务器,如果一台独立的服务器那写IP地址和ALL都一样。而写入网段,只有对NIS用户和密码集中管理的服务器才有意义。这里写本机的IP地址,代表指定的用户可以从任何来源IP地址来管理当前服务器,并不是只允许本机的用户使用指定命令。

         可使用的身份:把来源用户切换成什么身份使用,ALL代表可切换成任意身份,这个字段可省略

         授权命令:代表root把什么命令授权给普通用户,细化到选项和参数,注意命令一定要写成绝对路径

         例:授权用户lamp可以重启服务器

         #visudo

         lamp       ALL=/sbin/shutdown  -r  now

         $sudo  -l

         例:授权一个用户管理你的web服务器,从三处着手:可使用apache管理脚本;可修改apache配置文件;可更新网页内容。

         lamp       ALL=/etc/rc.d/init.d/httpd  reload, /etc/rc.d/init.d/httpd  configtest

         注:重新读取配置文件让更改的设置生效(reload);检测apache语法错误(configtest);不允许执行stop/restart等操作

         lamp         ALL=/bin/vi  /etc/httpd/conf/httpd.conf

         注:授权可使用root身份使用vi编辑配置文件

         #chown  lamp /var/www/html/

         注:授权lamp对此目录具有写权限或更改此目录的属主为lamp

         例:授权aa用户可创建新用户

         aa            ALL/usr/sbin/useradd

         aa              ALL=/usr/bin/passwd       [A-Za-z]*,  !/usr/bin/passwd  “”, !/usr/bin/passwd  root

三、文件特殊权限

         1setuid:只有可执行的二进制程序才能设定suid权限;命令执行者要对该程序拥有x权限;命令执行者在执行该程序时获得该程序文件属主的身份;只在该程序执行过程中有效。

         #ll     /etc/shadwo

         #ll     /usr/bin/passwd                -rwsr-xr-x

         危险的suid#chmod   u+s /usr/bin/vim

         几点建议:关键目录严格控制w权限,如://usr等;密码严格遵守三原则;对系统中默认具有setuid的文件作一列表,定时检查有没有这之外的文件被设置了suid权限。

         2setgid

         》针对文件:只有可执行的二进制程序才能设置sgid;命令执行者要对该程序拥有w权限;执行时组身份升级为该文件的属组;在程序执行过程中有效。

         #ll  /var/lib/mlocate/mlocate.db

         #ll  /usr/bin/locate

         》针对目录:普通用户必须对此目录拥有rx;普通用户在此目录中的有效组会变成此目录的属组;当普通用户对此目录拥有w,新建文件的默认属组是这个目录的属组。

         3sticky BIT:粘着位,仅针对目录有效;普通用户对该目录拥有WX,可在此目录拥有写权限;设置了SBIT,普通用户有W,只能删自己建立的文件,不能删其它用户建立的文件。

         SUID4            SGID2            SBIT1

         #chmod  4755 ftest

         #chmod  2755 ftest

         #chmod  1755 ftest

四、chattr      (文件系统属性权限)

         #chattr  [+-=]  i|a|e  文件或目录

         i:对文件:不允许删除、改名、不能添加修改数据,已锁死;

                   对目录:只能修改目录下文件的数据,不允许建立和删除文件。

         a:对文件:可增加数据,但不能删除和修改数据;

                   对目录:只允许在目录中建立和修改文件,但不允许删除

         elinux中绝大多数的文件默认拥有e属性,表示该文件使用ext文件系统进行存储,不能用#chattr  -e 取消e属性。

         #lsattr  -a|-d  文件名                    -a,all;-d,directory 

本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1674880如需转载请自行联系原作者


weilovepan520

相关文章
|
15天前
|
数据安全/隐私保护
权限管理
权限管理
17 1
|
1月前
|
Linux 数据安全/隐私保护
vLinux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
8 0
|
5月前
|
数据安全/隐私保护
权限管理详解
权限管理详解
|
10月前
|
SQL 安全 关系型数据库
第03章 用户与权限管理
第03章 用户与权限管理
76 0
|
存储 安全 Java
权限管理介绍|学习笔记
快速学习权限管理介绍
87 0
权限管理介绍|学习笔记
|
Linux Shell Go
权限管理 | 学习笔记
快速学习权限管理。
215 0
 权限管理 | 学习笔记
|
关系型数据库 MySQL 数据安全/隐私保护
开发指南—权限管理—角色权限管理
本文介绍角色权限管理相关语法级示例。 PolarDB-X兼容原生MySQL 8.0基于橘色的权限控制,请参见基于角色的权限控制。
114 0
|
关系型数据库 MySQL 数据库
开发指南—权限管理—账号权限管理
本文介绍了账号权限管理的相关操作。 PolarDB-X账号和权限系统的用法与MySQL 5.7一致,支持GRANT、REVOKE、SHOW GRANTS、CREATE USER、DROP USER、SET PASSWORD等语句,目前支持库级和表级权限的授予,全局级别和列级别权限暂时不支持。
114 0
|
SQL Java 数据库
权限管理系统(四)
前面我们做的小项目都是一个表的,业务代码也相对简单。现在我们来做一个权限管理系统,体验一下多表的业务逻辑,顺便巩固一下过滤器的知识。!
474 2
权限管理系统(四)
|
Java 数据安全/隐私保护
权限管理系统(三)
前面我们做的小项目都是一个表的,业务代码也相对简单。现在我们来做一个权限管理系统,体验一下多表的业务逻辑,顺便巩固一下过滤器的知识。!
195 0
权限管理系统(三)

热门文章

最新文章