一、SetUID功能

设定SetUID的方法

4代表SUID s代表SUID权限 S代表报错了,原因没有执行权限

# chmod 4755 文件名(最好用这种方法)

# chmod u+s 文件名

取消SetUID的方法

# chmod 755 文件名

# chmod u-s 文件名

  • 只有可以执行的二进制程序才能设定SUID权限
  • 命令执行者要对该程序拥有执行权限
  • 命令执行者在执行该程序是获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)
  • SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

查看SUID权限

# ll /usr/bin/passwd

二、SetGID功能

设定SetGID的方法

2代表SGID s代表SGID权限

# chmod 2755 文件名(最好用这种方法)

# chmod u+g 文件名

取消SetGID的方法

# chmod 755 文件名

# chmod u-g 文件名

SetGID针对文件的作用

  • 只有可以执行的二进制程序才能设定SGID权限
  • 命令执行者要对该程序拥有执行权限
  • 命令执行者在执行该程序时,组身份升级为该程序文件的属组
  • SetGID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

locate命令属于mlocate包,使用命令前要先更新数据库updatedb,查找速度老快啦,但是locate命令需要实时跟新数据库,否则新创建的文件检索不到,而且/tmp目录下的文件也无法查询

  • /usr/bin/locate是可执行的二进制程序,可以赋予SGID
  • 执行用户test对/usr/bin/locate命令拥有执行权限
  • 执行/usr/bin/locate命令时,组身份会升级为slocate组,而slocate组对/var/lib/mlocate/mlocate.db数据库拥有r权限,所以普通用户可以使用locate命令查询mlocate数据库
  • 命令结束,test用户的组身份返回test组

SetGID针对目录的作用

  • 普通用户必须对此目录拥有r和x权限,才能进入此目录
  • 普通用户在此目录中的有效组会变成此目录的属组
  • 若普通用户对此目录拥有w权限时,新建的文件的默认属组是这个目录的属组

举例说明:

# mkdir /tmp/test     创建test目录

# chmod 2777 /tmp/test/  给test目录赋予SGID权限

# su – acl   切换到acl用户

# cd /tmp/test/  进入test目录

# touch test.txt 创建test.txt文件

# ll  查看test文件属性所有者是test,但是所属组是root

三、Sticky BIT功能(黏着位)(如tmp目录)

  • 黏着位目前只对目录有效
  • 普通用户对该目录拥有w和x权限,即普通用户可以在此目录拥有写入权限
  • 如果没有黏着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一旦赋予了黏着位,除了root可以删除所以文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。

设定Sticky BIT的方法

1代表SBIT t代表SBIT权限

# chmod 1755 文件名

# chmod o+t 文件名

取消SBIT的方法

# chmod 755 文件名

# chmod o-t 文件名

四、文件系统属性权限chattr权限(该权限针对root用户)

语法:

# chattr [+-=][选项] 文件名 设置chattr属性

# lsattr –a 文件名 查看chattr属性

-R递归显示子目录下的文件,-d查看目录本身

选项:

i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。

a:如果对文件设置了a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么直允许在目录中建立和修改文件,但是不允许删除。

五、系统命令sudo权限

  • root把本来只能超级用户执行的命令赋予普通用户来执行
  • sudo的操作对象是系统命令

设置方法:

# visudo 或者 # vim /etc/sudoers

root  ALL=(ALL)  ALL

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

%test ALL=(ALL)  ALL

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

linux权限管理_文件特殊权限的更多相关文章

  1. Linux中权限管理之文件特殊权限

    SetUID 1.只有在可执行的二进制程序上设定SUID权限才是有意义的 2.命令执行者要对该程序拥有执行权限 3.命令执行者在执行该程序时获得该程序文件属主的身份 4.SetUID权限只在该程序执行 ...

  2. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户:useradd ftpuser      useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...

  3. Linux - 用户管理与文件权限

    目录 Linux - 用户管理与文件权限 创建普通用户 切换用户 userdel删除用户 sudo 命令 文件与目录权限 Linux权限的解读 目录权限 查看用户权限的命令 文件权限 修改权限的命令 ...

  4. Linux 用户管理 与 文件权限

    Linux 用户管理 与 文件权限 用户组操作 1.groupadd命令 groupadd [-g -o] gid group 各个选项具体含义如下: -g:指定新建用户组的GID号,该GID号必须唯 ...

  5. Lambda 表达式应用 权限管理_用户的角色修改

    Lambda 表达式应用 权限管理_用户的角色修改 需求 前台发送用户新的角色列表,后台查询出用户原有的角色列表. 1.获取出需增加的角色列表 => 在新角色列表中,但是不在原角色列表中的角色 ...

  6. java权限管理与用户角色权限设计

    java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...

  7. Linux常用命令(二)之权限管理、文件搜索、帮助、压缩命令及管道

    在(一)中提到过rwx的含义,但是我们还需深入理解,明白其真正的含义和权限,对于文件和目录,rwx权限是不同的,尤其是目录的权限往往是被忽略的: 对于目录,其权限和对应的操作: r-ls w-touc ...

  8. 第7章 权限管理(2)_文件特殊权限(SUID、SGID、SBIT)

    2. 文件特殊权限(主要用来临时提升命令执行者或其组身份) 2.1 SetUID (1)SetUID的功能 ①只有可以执行的二进制程序才能设定SUID权限.用来临时提升执行程序(或某条命令)的用户身份 ...

  9. Linux基础知识之文件的权限(一)

    Linux基础知识之文件权限(一) Linux优点之一就是它拥有多用户多任务的环境,在提供文件共享的同时也能保证用户文件的安全性.所以,设置文件的权限管理变得尤为重要. 权限讲解 [der@Der ~ ...

随机推荐

  1. iOS开发数据库篇—SQL

    iOS开发数据库篇—SQL 一.SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(structured query language):结构化查 ...

  2. sqlloader导出数据和导入数据

    分类: Oracle 忙了一天终于把sqlloader导出数据和导入数据弄清楚了,累死俺了... 这个总结主要分为三个大部分,第一部分(实例,主要分两步),第二部分(参数小总结),第三部分(完全参数总 ...

  3. [Selenium] 拖拽一个 Component 到 Workspace

    先使Component可见,获取Component位置信息,获取Workspace位置信息,点击Component并拖拽到Workspace,最后释放.(调试时dragAndDropOffset()方 ...

  4. drupal前端开发的第一点

    就是把admin/config/development/performance下面的选项全部去掉,方便作为一个匿名用户来访问,不用每次都drush cc all.

  5. 与Status Bar和Navigation Bar相关的一些东西

    Android Navigation Bar Status Bar   与StatusBar和NavigationBar相关的东西有两种,一是控制它们的显示与隐藏,二是控制它们的透明与否及背景. 在2 ...

  6. CSS样式使用

    <html> <head> <style type = "text/css">                          .h{    ...

  7. laravel 中 与前端的一些事4 之合并压缩静态文件

    合并压缩多个静态文件到一个文件里面,可以减少网站的http请求,稍微优化性能,提高网站的用户体验 使用elixir来实现: 敲命令 合并并压缩js和css文件

  8. Alpha 和Beta 测试

    在正式发布产品之前往往要先发布一些测试版,让用户能够反馈出相关信息,或者找到存在的Bug,以便在正式版中得到解决. 特别是在有客户参加的情况下,对系统进行测试可能会出现一些我们没有考虑的情况,还可以解 ...

  9. 基础向量运算-2D镜面反射

    如图M为镜面,A为入射光,B为反射光,已知A与M的向量坐标,求B的向量表示. 我们添加辅助向量C. 有以下性质. B = 2 * C - A. [1] |C| = |A| * cos(alpah).A ...

  10. 【转】XGBoost参数调优完全指南(附Python代码)

    xgboost入门非常经典的材料,虽然读起来比较吃力,但是会有很大的帮助: 英文原文链接:https://www.analyticsvidhya.com/blog/2016/03/complete-g ...