免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13691 | 回复: 12
打印 上一主题 下一主题

怎么让普通用户使用root权限执行用户命令. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-08 19:20 |只看该作者 |倒序浏览
就是用root写一个小程序. 让其他用户只要用这个命令来执行他的程序, 就相当于是root在执行了.
不清楚怎么修改uid.

比如写一个 runroot 命令.
用户只要用 runroot init Q
就相当于su到root在执行init Q.
这个时候不需要其他操作, 就是说runroot这个命令好比一个root权限的shell一样.

记得是修改id, 但不知道具体原理. 那位兄弟清楚麻烦告诉我一下.

[ 本帖最后由 ZealeS 于 2006-3-8 19:44 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-03-08 19:25 |只看该作者
看置顶基础帖

论坛徽章:
0
3 [报告]
发表于 2006-03-08 19:38 |只看该作者
你可能不知道我的意思.
是希望要一个程序来执行su -这俩的权限, 但这个程序是root用户来编译产生的.
而且是不需要输入密码, 也不是采用expect之类来作的.

论坛徽章:
0
4 [报告]
发表于 2006-03-09 08:31 |只看该作者
这样的话,普通用户通过这个脚本就可以运行任何命令,这样还不如直接给他root的password
所以LZ这样的做法是很危险的

应该是针对某个特定工作的脚本,给予这样的权限,就像passwd这个命令一样
LZ可以看一下passwd的权限
chown root file.sh
chmod 4755 file.sh

[ 本帖最后由 doni 于 2006-3-9 08:34 编辑 ]

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
5 [报告]
发表于 2006-03-09 09:00 |只看该作者
to doni
在一些sh版本中,至少在bash会忽略setuid,也就是说setuid对bash脚本是无效的

  1. [waker@proxy ~/d1]$ cat setu.sh && stat setu.sh && ./setu.sh
  2. #/bin/bash
  3. id
  4. who am i
  5.   File: `setu.sh'
  6.   Size: 23              Blocks: 8          IO Block: 4096   regular file
  7. Device: 302h/770d       Inode: 276107      Links: 1
  8. Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
  9. Access: 2006-03-09 08:54:54.873242224 +0800
  10. Modify: 2006-03-09 08:53:15.022421856 +0800
  11. Change: 2006-03-09 08:53:30.181117384 +0800
  12. uid=500(waker) gid=500(waker) groups=500(waker)
  13. waker    pts/1        Mar  7 07:58 (192.168.1.6)
复制代码

论坛徽章:
0
6 [报告]
发表于 2006-03-09 10:42 |只看该作者
实际上之前公司有人过一个程序, C程序编译过后的.
是root用户编译后产生的可执行程序.
对于其他用户来说, 这只是个命令而已, 而且这个命令用用户当前的环境变量, 不需要更改到其他用户的人和配置或权限的.
程序现在找不到, 听说是用修改用户id的方法, 目的只是为了比较方便使用而已. 想看看shell能不能实现.

论坛徽章:
0
7 [报告]
发表于 2006-03-09 11:13 |只看该作者
楼主说的情况确实有,俺有空研究研究告诉大家

论坛徽章:
0
8 [报告]
发表于 2006-03-09 11:30 |只看该作者
我也在研究看看.
其他用户不用知道root密码. 却可以通过这命令实现root权限进行操作.

论坛徽章:
0
9 [报告]
发表于 2006-03-09 12:30 |只看该作者
用sudo看
http://bbs.chinaunix.net/forum/v ... p;highlight=wingger
一定可以解决这个问题

论坛徽章:
0
10 [报告]
发表于 2006-03-09 12:44 |只看该作者
写一个setuid的程序,设置下root的一些环境,最后调用evecvp
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP