1.特殊权限概述

前面我们已经学习过 r(读)、w(写)、 x(执行)这三种普通权限,但是我们在査询系统文件权限时会发现出现了一些其他权限字母,比如:

2.特殊权限SUID

set uid 简称suid,当我们为某个命令设定了suid,无论谁使用该命令 都会使用该命令的 "属主" 运行该命令

suid  == 4000
chmod u+s   /usr/bin/passwd
chmod 4755   /usr/bin/passwd
chmod u-s  去掉权限
  • suid优点: 可以让普通用户执行无法执行的命令 方便
  • suid缺点: 如果rm 为suid, 无论谁执行该命令,都能删除系统的任何资源

3.sgid (set gid) 特殊权限 (RHCE考试)

将目录设置为sgid后,如果在往该目录下创建文件,都将与该目录的所属组保持一致,演示如下

[root@chengyinwu ~]# groupadd devops
[root@chengyinwu ~]# useradd zhangsan -G devops
[root@chengyinwu ~]# useradd lisi -G devops
[root@chengyinwu ~]# mkdir /opt/share
[root@chengyinwu ~]# chmod 2777 share/
[root@chengyinwu ~]# chown .devops share/
  • 测试不同的用户在该目录下创建文件,检查属主和属组
  • 使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。

4.特殊权限SBIT

  1. 如果一个目录设定了粘滞位, 那么谁都可以在该目录下创建文件,.
  2. 删除文件只能是 谁创建的谁删除. 除此以外 root 和/tmp/的所属主都能删除该目录下的内容.
设定粘滞位 1000
chmod o+t /tmp
chmod 1777 /tmp

5.特殊属性 chattr lsattr

-a 只能追加,无其他操作
-i 锁定文件,不能删除,不能追加,不能移动
1.希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属
性?
[root@oldboyedu ~]# chattr +i /etc/passwd
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
# 不得任意更动文件或目录
#----------------------------------------------
[root@oldboyedu ~]# chattr -i /etc/passwd
[root@oldboyedu ~]# lsattr /etc/passwd
---------------- /etc/passwd
[root@oldboyedu ~]# useradd test123
2.日志文件,希望能往里面追加内容,但不允许删除,应该添加什么
特殊属性?
[root@oldboyedu ~]# chattr +a /var/log/secure
[root@oldboyedu ~]# lsattr /var/log/secure
-----a---------- /var/log/secure

6.umask 默认权限

umask是用来控制默认创建文件或目录的权限
umask设定为022,表示要减去的权限
目录 777 -022 =755
文件 666 -022 =644

umask 设定为奇数 偶数 对文件和目录有什么影响?

文件: 如果umask出现了奇数, 要在奇数位+1

目录: 对目录毫无影响

设定umask

umask number 临时 (当前bash窗口有效,会随着bash的关闭一起结束)
vim /etc/profile /etc/login.defs # 如果修改则都为永久.
注: umask 知道就行, 不要调整,默认就是安全的权限.
目录: 755
文件: 644

今日总结

1.特殊权限 suid sgid sbit

2.特殊属性 chattr lsattr -a(/var/log/*.log) -i (/etc/passwd)

3.umask 默认权限( 表示要减去的权限 目录:777 -umask 文件:666 -

umask)

11.Linux用户特殊权限的更多相关文章

  1. Linux 用户及权限详解

    Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...

  2. 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

    Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...

  3. Linux用户和权限——管理文件权限的命令

    Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...

  4. Linux用户和权限——权限管理

    Linux用户和权限——权限管理 摘要:本文主要介绍了Linux系统中权限的分类,以及对权限的管理. 用户的三种身份 所有者 由于Linux是个多人多工的系统,因此可能常常会有多人同时使用这部主机来进 ...

  5. Linux用户和权限——管理用户和用户组的命令

    Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...

  6. Linux用户和权限——用户和用户组管理

    Linux用户和权限——用户和用户组管理 摘要:本文主要介绍了Linux系统中的用户和用户组管理. 用户和用户组 含义 在使用Linux系统时,虽然输入的是自己的用户名和密码,但其实Linux并不认识 ...

  7. 11.Linux用户管理

    本笔记说的Linux用户管理主要包括以下内容: 1.用户配置文件(/etc/passwd  /etc/shadow) 2.组配置文件(/etc/group  /etc/gshadow) 3.用户缺省配 ...

  8. linux用户及权限管理

    [文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...

  9. Linux用户和权限管理看了你就会用啦

    前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了.这篇主要将Linux下的用户和权限知识点再整理 ...

随机推荐

  1. 三、SpringBoot 整合mybatis 多数据源以及分库分表

    前言 说实话,这章本来不打算讲的,因为配置多数据源的网上有很多类似的教程.但是最近因为项目要用到分库分表,所以让我研究一下看怎么实现.我想着上一篇博客讲了多环境的配置,不同的环境调用不同的数据库,那接 ...

  2. django 中namespace的问题

    在早期的django版本中 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^polls/', include('polls.urls' ...

  3. NPOI导出2007格式报错:文件损坏

    这个问题,归根结底还是代码问题,如下修改了代码就可以了.左侧是会出现问题的代码,右侧是正确的代码,自己感受,我也是一口老血:

  4. [Leetcode][动态规划] 零钱兑换

    一.题目描述 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: ...

  5. Spring事务传播行为中可能的坑点

    一.简介 Spring事务配置及相关说明详见:https://www.cnblogs.com/eric-fang/p/11052304.html.这里说明spring事务的几点注意: 1.默认只会检查 ...

  6. 品Spring:详细解说bean后处理器

    一个小小的里程碑 首先感谢能看到本文的朋友,感谢你的一路陪伴. 如果每篇都认真看的话,会发现本系列以bean定义作为切入点,先是详细解说了什么是bean定义,接着又强调了bean定义为什么如此重要. ...

  7. Docker service endpoint with name xxx already exist问题

    这是因为利用docker compose启的容器再用docker rm命令删除后,网络仍然被占用,需要手动清理 解决办法: 先用docker rm -f xxx删除容器 再输入docker netwo ...

  8. 【SQL server基础】获取当前时间并固定格式

    Select CONVERT(varchar(), GETDATE(), ): // Select CONVERT(varchar(), GETDATE(), ): Select CONVERT(va ...

  9. 11 种在大多数教程中找不到的JavaScript技巧

    当我开始学习JavaScript时,我把我在别人的代码.code challenge网站以及我使用的教程之外的任何地方发现的每一个节省时间的技巧都列了一个清单. 在这篇文章中,我将分享11条我认为特别 ...

  10. MySQL数据库从复制及企业配置实践

    在实际生产中,数据的重要性不言而喻: 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整 ...