特殊权限set_uid默认情况下 , 在新安装好的Linux系统下 , 仅有一个命令是拥有set_uid特殊权限的 .

拥有s权限的命令(文件) : 为了确保非所有者用户 , 在使用该命令时,临时拥有所有者的身份 ; 给一个文件设置set_uid特殊权限,前提是该文件是一个可执行的二进制文件(一般都是给命令加上这样的特殊权限) , 否则没有任何意义 , 就如给一个文件夹设置一个set_uid权限一样 , 没有任何实际意义 .

1. 给命令加上set_uid特殊权限格式 chmod u+s 命令的文件路径 chmod u+s /usr/bin/ls chmod u-s /usr/bin/ls/root/目录的权限 , 是只有root用户和root组下的用户才能访问的 , 其他用户没有任何权限 .[[email protected] ~]# ls -ld /root/dr-xr-x---. 3 root root 178 6月   8 14:16 /root/那么如果用一个普通用户去查看/root/目录下的内容时 , 肯定会报权限不足的错误 .[[email protected] ~]$ ls -l /root/ls: 无法打开目录/root/: 权限不够给ls命令添加上set_uid特殊命令后 , 验证能否临时加上只有root用户才有的查看/root/目录的权限[[email protected] ~]# which lsalias ls=‘ls --color=auto‘

/usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls[[email protected] ~]# chmod u+s /usr/bin/ls[[email protected] ~]# !lsls -l /usr/bin/ls-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls[[email protected] ~]#

切换到allin1的普通用户 , 再次使用ls命令 , 看看普通用户是否拥有了root用户的权限 , 可以查看/root/目录[[email protected] ~]# ssh -p 22 [email protected]130Last login: Fri Jun  9 08:54:21 2017 from 192.168.245.132[[email protected] ~]# whoamiroot

[[email protected] ~]# su - allin1上一次登录:五 6月  9 08:54:30 CST 2017pts/3 上

[[email protected] ~]$ whoami

allin1

[[email protected] ~]$ ls -l /root/

总用量 8-rwx--x--x. 1 root root    0 6月   8 14:16 2.txt

-rw-------. 1 root root 7728 6月   6 22:11 anaconda-ks.cfg.1[[email protected] ~]$

2. 给命令添加set_uid特殊权限的第二种方式格式 : chmod u=rws 命令文件路径 chmod u=rws /usr/bin/ls

这样修改后的ls命令的权限 , 和第一种方式修改后的ls命令权限有一些区别 , 但是效果却一样[[email protected] ~]# chmod u-s /usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]# chmod u=rws /usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]#

这样添加set_uid的特殊权限后 , ls命令的权限变成rwS , 是一个大写的S , 而第一种方式添加特殊权限后 , ls命令的权限是rws , 是一个小写的s ... 这两者的区别是 , 第二种方式 , 缺少了x权限 , 要想也成为小写的s , 那么也可以额外在添加上x权限 , 不过这个并不影响ls命令临时拥有了root用户权限 .[[email protected] ~]$ ls -l /usr/bin/ls

-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]$ ls -l /bin/ls

-rwSr-xr-x. 1 root root 117656 11月  6 2016 /bin/ls

[[email protected] ~]$ ls -l /root/

总用量 8-rwx--x--x. 1 root root    0 6月   8 14:16 2.txt

-rw-------. 1 root root 7728 6月   6 22:11 anaconda-ks.cfg.1[[email protected] ~]$

加上x权限[[email protected] ~]# chmod u+x /usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

linux set权限,Linux 特殊权限set_uid(示例代码)相关推荐

  1. linux 卸载 bison,linux-无法编译Bison示例代码

    我正在阅读LFS,并且遇到过野牛,在其他地方之前我都看过它,所以我认为我应该多了解一点.我发现this page from UC Riverside CS department,示例代码不起作用.有人 ...

  2. linux 蓝牙脚本,arm linux串口蓝牙工具移植及使用(示例代码)

    ap6212中串口蓝牙在linux下的使用记录 一.linux蓝牙工具移植 主要使用到的工具及相关库如下: bluez-libs-3.36 libxml2-2.7.4 dbus-1.0.2 glib- ...

  3. linux运维初学作业,Linux运维班第二次作业(示例代码)

    一.列出当前系统上所有已经登录的用户的用户名(同用户登录多次只显示一次). 题目并没有说明取出的用户名是否允许排序处理,所以可写成: # who | cut -d' ' -f1 | sort -u 二 ...

  4. linux搜索关键字并定位,Linux系统中文件定位与查找(示例代码)

    Linux系统中文件查找 关键词 文件查找 | find | locate 本文主要介绍有关文件查找的两个命令--find和locate,以及压缩打包的命令--compress, gzip,bzip2 ...

  5. Linux内核:网络过滤器简介与示例代码

    目录 简单的例子 实施 用户空间处理 Linux的一大优点是其网络功能.路由器,交换机等许多网络产品均基于嵌入式Linux操作系统. 网络过滤是Linux内核中很好的基础结构,它使我们能够过滤和操作网 ...

  6. linux ipc shmget 例子,Linux IPC之共享内存C 事例(示例代码)

    简介 共享内存(shared memory)是最简单的Linux进程间通信方式之一.使用共享内存,不同进程可以对同一块内存进行读写.由于所有进程对共享内存的访问就和访问自己的内存空间一样,而不需要进行 ...

  7. linux一号进程和二号进程,Linux系统管理10——进程和计划任务管理(示例代码)

    Linux系统管理10--进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代 ...

  8. linux环境用pycharm开发,Linux中部开发环境(Pycharm)(示例代码)

    你可以通过下面网站获取 PyCharm .屏幕中央有一个很大的 'Download' 按钮. https://www.jetbrains.com/pycharm/download/#section=l ...

  9. linux验证文件的完整性,linux中校验文件完整性(md5,sha1)(示例代码)

    经常在Linux下下载软件的人,一定会有一个良好的习惯:校验文件的hash,以确定文件的完整性甚至是安全性.我配置环境的时候也恰好用到了,笔者的是一个lubuntu的机子.这里我大致做个记录.(不了解 ...

最新文章

  1. java实现简单链表
  2. 2013年长沙网络赛G题
  3. 《Go语言圣经》学习笔记 第十一章 测试
  4. python字典键值对转化为相应的变量名和变量值
  5. Java循环删除集合多个元素的正确打开方式
  6. MVC源码解析 - 配置注册 / 动态注册 HttpModule
  7. cronmon 定时任务执行状态监控
  8. qtcpserver无法启动监听_EOS基础全家桶(四)启动节点
  9. CSDN第一节课总结
  10. 毕业设计python数据分析_毕业设计:爬虫及数据分析
  11. 如何在phpstudy设置多站点和二级域名
  12. 关于pandas的这些干货,你也必须知道!
  13. 头歌java 实训 答案 代码 java入门
  14. 微型6轴惯性导航姿态传感器(IMU)LPMS-BE2 OEM
  15. 容性耦合等离子体(CCP)和电感耦合等离子体(ICP)
  16. 考研必备 | 百度网盘网页视频在线倍速播放
  17. Android中使用ADB 命令安装和卸载系统程序
  18. Qt QList详解
  19. 新仙剑奇侠传java,新仙剑奇侠传问题
  20. 算法试题——每日一练

热门文章

  1. 截屏没有了_华为手机居然有6种截屏花招,很多人不知道,你会用哪几种?
  2. python中的画布背景设置_教你用python画图—Turtle详细教程
  3. python周天为一周的开始_周天-和周天相关的内容-阿里云开发者社区
  4. 设置线程堆栈大小_哇擦,传说中的堆栈溢出和快速排序
  5. 使用KNN时出现非数值属性和缺失值
  6. OFD文件结构--Pages~Page_0~Content.xml
  7. matlab 求解进度,报告测试运行进度的插件
  8. 改进初学者的PID-修改整定参数
  9. STM32F0使用LL库实现SHT70通讯
  10. Python格式化输出方法