特殊权限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. (纪录片)统计的乐趣 The Joy of Stats (2010)
  2. BZOJ1112[POI2008]砖块Klo——非旋转treap
  3. 牛客华为机试第2题python
  4. c++大作业迷宫游戏 规定时间内完成_开卷有益 | 小学生做作业磨蹭的7个原因及对策!太准了~不得不为孩子收藏!...
  5. K Balanced Teams
  6. VTK:IO之ReadCML
  7. socket 多线程安全、粘包问题
  8. 揽货最短路径解决方案算法 - C# 蚁群优化算法实现
  9. lambdas for_Wordcounter,使用Lambdas和Fork / Join计算Java中的单词数
  10. Swift 将日期转化为字符串,显示上午还是下午
  11. 蒙特卡洛模拟(Monte Carlo simulation)
  12. 两万字长文读懂 Java 集合!
  13. Mageia 7 Beta 3 发布,Mandriva Linux 社区分支
  14. Unity3D游戏框架设计
  15. 微信小程序分享小程序码的生成,多参数以及参数的获取
  16. mysql将没有员工的部门都删除_Mysql 用sql语句实现删除与CLARK同部门的员工信息...
  17. MAC上测试常用工具整理
  18. 分治法解决最近点对问题
  19. restTemplate实现 authorization basic权限认证(带账号密码)
  20. airpodspro窃听模式_苹果详解AirPods Pro无线耳机:主动降噪是这样实现的

热门文章

  1. git clone时出现gnutls_handshake() failed: The TLS connection was non-properly terminated.
  2. server sql top速度变慢解决方案_SQL Server数据库查询速度慢的原因和解决方法
  3. linux终端密码星星,如何获得您的sudo密码在Ubuntu中显示为星号 | MOS86
  4. gitbook mysql_使用Gitbook做笔记
  5. 甘特图制作_如何用Excel快速制作甘特图?(超详细!)
  6. java的地位和优势,Java语言之所以能持续占领霸主地位 这些优势功不可没
  7. android分享文件分享结果_干货分享丨DM删除归档日志文件的多种方法
  8. 工作组服务器操作系统,工作组服务器操作系统
  9. ctpn论文阅读与代码
  10. Android之智能问答机器人