搜索
首页数据库mysql教程RHEL6上课笔记之acl

RHEL6上课笔记之acl

Jun 07, 2016 pm 03:05 PM
aclpasswdShadow上课笔记

Passwd,shadow,gshadow,group 这四个文件是 PAM ( portable authentication module )的数据库。 pam 的文件都是 (.so) 结尾的。 cd /lib64/security 目录中有很多 .so 的文件。其中到迄今为止都没有 bug 的是 pam_unix.so , pam_userdb.so 是的 pam_unix.

Passwd,shadow,gshadow,group 这四个文件是PAMportable authentication module)的数据库。

pam的文件都是(.so)结尾的。

cd /lib64/security目录中有很多.so的文件。其中到迄今为止都没有bug的是pam_unix.sopam_userdb.so是的pam_unix.so助手。

PAM的配置文件在/etc/pam.d/下。现在我们来看其中的一个配置文件etc/pam.d/login/

login中有四类

auth:密码正确性。

passwd:密码最多能用的时间。

account:帐号是否合法。

session:性能(如,分配多少cpu)。

其中有一行是:

account    required(必要条件)   pam_nologin.so

etc目录下touch 一个名为nologin的文件,那么用除root以外的用户登入就会提示鉴定错误(免打扰模式)。 删掉就恢复正常。          

 

单单针对roottty

   不让root在某个tty窗口登入。可以配置/etc/securetty的白名单配置文件。例如:如果不想让roottty4登入,那么就在securetty白名单中把tty4注释掉。

也可以阻止其它用户在某个tty登入。需要配置/etc/security/access.conf配置文件。配置方法如下:

#-:ALL EXCEPT (wheel) shutdown sync:LOCAL

 - : gg : tty4  # 不让gg用户在tty4上登入,其它tty可以。(也可以在这里配置root)。配置完access.conf文件后还需要配置一个文件,就是在/etc/pam.d/login文件中加上一句:account    required     pam_nologin.so

 

acl:对文件设置acl

     给文件添加第二属主。

     使用root 用户在tmp1    

[root@station10 tmp1]# echo  “helo body” >>  file

[root@station10 tmp1]# getfacl file           (查看文件属主)

# file: file

# owner: root

# group: root

user::rw-

group::r--

mask::r--

other::r--

[root@station10 tmp1]# su - eg

[eg@station10 ~]$ cd /root/tmp1/

[eg@station10 tmp1]$ echo 111 >> file

-bash: file: 权限不够

[root@station10 tmp1]# setfacl -m u:eg:rw file     -m 修改。用户:用户名:权限)

[root@station10 tmp1]# getfacl file                     

# file: file

# owner: root

# group: root

user::rw-

user:eg:rw-          #eg用户

group::r--

mask::rw-       

other::r--

[root@station10 tmp1]# su - eg

[eg@station10 ~]$ echo xxx >> /root/tmp1/file

[eg@station10 ~]$ cat /root/tmp1/file

helo body

xxx

       在做以上实验时如果在执行 setfacl -m u:eg:rw file 的时候提示 不支持的操作,那是因为分区不具备acl品质。那么就需要给分区添上acl的品质。如下:

[root@station10 tmp1]# tune2fs -l /dev/sda3

……

Default mount options:    user_xattr  acl             # 具备acl品质

……

       如果没有该品质那么就要给它加上。第1种方式:“ tune2fs  -o   acl    /dev/sda3  添上。第二种方式:使用手工mount  -o    alc    /dev/sda3 。第三种方式:开机自动挂载上,配置fstab如下图:使用mount   -a  验证。Mount 查看是否具有acl品质。


defaults后面可以有(noexec,nodev)参数。当然这些参数也可以在挂载的时候写上或则fstab都行。

noexec:如果加了此参数那么在该分区就不能够使用( ./  ) 执行任何可执行文件。就会提示权限不够。

nodev:???

    [root@station10 tmp1]# mknod egfile b 8 7
 

   [root@station10 tmp1]# mount egfile /mnt1

    /tmp1/egfile           99M  5.6M   89M   6% /mnt1

   /dev/sda7              99M  5.6M   89M   6% /mnt

 

acl:对目录设置acl

       我们新建一个文件夹,然后使用刚刚对文件增加第二属主的方式来做。如下:

       [root@station10 /]# mount /dev/sda7 /mnt

       [root@station10 mnt]# mkdir dir

       [root@station10 mnt]# getfacl dir/

       # file: dir/

       # owner: root

       # group: root

       user::rwx

       group::r-x

       other::r-x

       [root@station10 mnt]# setfacl -m u:eg:rwx dir

       setfacl: dir: 不支持的操作     #由于刚刚挂载的时候没有添加acl 品质的结果(一定要注意,如果没有acl 品质那么就不能做acl。)

       [root@station10 mnt]# tune2fs -o acl /dev/sda7

       [root@station10 mnt]# tune2fs -l /dev/sda7

       ……

       Default mount options:    acl          #有了

       ……

       [root@station10 /]# umount /mnt

       [root@station10 /]# mount /dev/sda7 /mnt

       [root@station10 mnt]# setfacl -m u:eg:rwx dir

       [root@station10 mnt]# getfacl dir/

       # file: dir/

       # owner: root

       # group: root

       user::rwx

       user:eg:rwx

       group::r-x

       mask::rwx

       other::r-x

       [root@station10 mnt]# cd dir/

       [root@station10 dir]# mkdir dir1

       [root@station10 dir]# getfacl dir1/

       # file: dir1/

       # owner: root

       # group: root

      user::rwx

      group::r-x

      other::r-x

      #我们刚刚用root建的第一个文件夹(dir)我给它添加了第二个属主。现在需要再到dir 目录下再建立一个文件夹(dir1)并且也让它属于eg 用户,可是建完之后它并不属于eg,而是单单属于root。那我又得给它增加第二属主太麻烦了。可以使用一种方法让它一直保持第一层的特性。如下所示:

       [root@station10 mnt]# ls -ld dir/

       drwxrwxr-x+ 3 root root 1024  6  4 22:27 dir/

       [root@station10 dir]# ls -ld dir1/

       drwxr-xr-x. 2 root root 1024  6  4 22:36 dir1/

       看到dir dir1  ls -ld 有点不一样,那是因为dir1 没有保持dir 的特性(+)。那接下来我就让它保持dir 的特性。

       就是在建立文件夹的时候加上一个d,就可以让它里面建立的第二层第三层等等都保持第一层的特性。如下:

      [root@station10 mnt]# mkdir Docu

      [root@station10 mnt]# setfacl -m d:u:eg:rwx Docu

      [root@station10 mnt]# getfacl Docu/

      # file: Docu/

      # owner: root

      # group: root

      user::rwx

      group::r-x

      other::r-x

      default:user::rwx

      default:user:eg:rwx

      default:group::r-x

      default:mask::rwx

      default:other::r-x

      [root@station10 mnt]# cd Docu/

      [root@station10 Docu]# mkdir Docu1

      [root@station10 Docu]# getfacl Docu1/

       # file: Docu1/

       # owner: root

       # group: root

       user::rwx

       user:eg:rwx

      group::r-x

      mask::rwx

      other::r-x

      default:user::rwx

      default:user:eg:rwx

      default:group::r-x

      default:mask::rwx

      default:other::r-x

       #观察到实验的结果了吧。

       现在我想把第一层文件恢复原来的样子:

      [root@station10 mnt]# setfacl -x d:u:eg Docu/    # -x:删除)恢复只有一个属主,还留有defaults

       [root@station10 mnt]# setfacl -b Docu/    #恢复正常。可以直接使用-b-b 级别高于-x)。

     

s位程序:可执行文件

       文件被谁运行就归谁所有:

       [root@station10 ~]# /bin/sleep 1000

       [root@station10 ~]# ps -eo command,group,user | grep sleep | grep -v grep

       /bin/sleep 1000             root     root

       [eg@station10 ~]$ /bin/sleep 1000

       [eg@station10 ~]$ ps -eo command,group,user | grep sleep | grep -v grep

        /bin/sleep 1000             eg       eg

      观察如上实验,就可发现不管是root还是eg 运行sleep ,它的属主都是运行者的。

      在工业环境中,有时会要求我们用某个用户来运行某个程序,但是这个程序却不归我们这个用户所有。也就只有S 位程序能够实现。

      [root@station10 ~]# ls -l  /bin/sleep

      -rwxr-xr-x. 1 root root 27880  6 14 2010 /bin/sleep

       [root@station10 ~]# chmod 4755 /bin/sleep

       [root@station10 ~]# ls -l  /bin/sleep


        [eg@station10 ~]$ /bin/sleep 1000

        [eg@station10 ~]$ ps -eo command,group,user | grep sleep | grep -v grep

        /bin/sleep 1000             eg       root

       完全和刚刚的相反了,属主是root,而不是eg。(也可以是组)

 

s位程序:目录

       对于目录而言,研究s程序只研究组。

        [root@station10 mnt]# mkdir dir

        [root@station10 mnt]# chown wang5:eg dir/     #dir属于wang5用户,属于eg组。

        [root@station10 mnt]# chmod 2755 dir/

        [root@station10 mnt]# ls -ld dir/

        drwxr-sr-x. 2 wang5 eg 1024  6  4 23:40 dir/

        [root@station10 mnt]# cd dir

        [root@station10 dir]# mkdir d1       #dir里新建d1

        [root@station10 dir]# ls -ld d1/

        drwxr-sr-x. 2 root eg 1024  6  4 23:40 d1/

        root 建立的都必须归eg 组。连root都必须尊守。

        原理:新建内节点。

        [root@station10 dir]# cp -rp /etc/ ./

        [root@station10 dir]# ls -ld *

        drwxr-sr-x.   2 root eg   1024  6  5 09:19 d1

        drwxr-sr-x. 117 root root 8192  6  5 09:19 etc

        漏洞:移动或拷贝文件,组就会归移动者。

        Other t (对文件的保护)

        t 只对777目录,一般是tmp

        [root@station10 mnt]# mkdir tmp

        [root@station10 mnt]# chmod 1777 tmp

        [root@station10 mnt]# ls -ld tmp/


        [root@station10 mnt]# cd tmp/

        [root@station10 tmp]# touch 1.txt

        [root@station10 tmp]# ls -l 1.txt

        -rw-r--r--. 1 root root 0 Jun  6 21:55 1.txt

        [root@station10 tmp]# su – wang5

        [wang5@station10 ~]$ cd /mnt/tmp/

        [wang5@station10 tmp]$ rm -rf 1.txt

        rm: 无法删除"1.txt": 不允许的操作

        增加了t位,是对777目录的保护,只能是自己本身和root可以删除外其它用户不可删除。

 

 

REDHAT6

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何识别和优化MySQL中的慢速查询? (慢查询日志,performance_schema)如何识别和优化MySQL中的慢速查询? (慢查询日志,performance_schema)Apr 10, 2025 am 09:36 AM

要优化MySQL慢查询,需使用slowquerylog和performance_schema:1.启用slowquerylog并设置阈值,记录慢查询;2.利用performance_schema分析查询执行细节,找出性能瓶颈并优化。

MySQL和SQL:开发人员的基本技能MySQL和SQL:开发人员的基本技能Apr 10, 2025 am 09:30 AM

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

描述MySQL异步主奴隶复制过程。描述MySQL异步主奴隶复制过程。Apr 10, 2025 am 09:30 AM

MySQL异步主从复制通过binlog实现数据同步,提升读性能和高可用性。1)主服务器记录变更到binlog;2)从服务器通过I/O线程读取binlog;3)从服务器的SQL线程应用binlog同步数据。

mysql:简单的概念,用于轻松学习mysql:简单的概念,用于轻松学习Apr 10, 2025 am 09:29 AM

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

MySQL:数据库的用户友好介绍MySQL:数据库的用户友好介绍Apr 10, 2025 am 09:27 AM

MySQL的安装和基本操作包括:1.下载并安装MySQL,设置根用户密码;2.使用SQL命令创建数据库和表,如CREATEDATABASE和CREATETABLE;3.执行CRUD操作,使用INSERT,SELECT,UPDATE,DELETE命令;4.创建索引和存储过程以优化性能和实现复杂逻辑。通过这些步骤,你可以从零开始构建和管理MySQL数据库。

InnoDB缓冲池如何工作,为什么对性能至关重要?InnoDB缓冲池如何工作,为什么对性能至关重要?Apr 09, 2025 am 12:12 AM

InnoDBBufferPool通过将数据和索引页加载到内存中来提升MySQL数据库的性能。1)数据页加载到BufferPool中,减少磁盘I/O。2)脏页被标记并定期刷新到磁盘。3)LRU算法管理数据页淘汰。4)预读机制提前加载可能需要的数据页。

MySQL:初学者的数据管理易用性MySQL:初学者的数据管理易用性Apr 09, 2025 am 12:07 AM

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

与MySQL中使用索引相比,全表扫描何时可以更快?与MySQL中使用索引相比,全表扫描何时可以更快?Apr 09, 2025 am 12:05 AM

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。