linux – SUID的问题

我有一个简单的命令,我希望能够以用户身份执行,但它需要root权限.我怀疑这是“SUID”位的情况,但我从未使用它.

这就是我尝试过的:

aioobe@e6510:~/bin$sudo -s
root@e6510:~/bin# cat -> spindown_baydrive
#!/bin/bash
/sbin/hdparm -Y /dev/sdb
root@e6510:~/bin# chmod +x spindown_baydrive 
root@e6510:~/bin# chmod ug+s spindown_baydrive 
root@e6510:~/bin# exit
aioobe@e6510:~/bin$./spindown_baydrive 
/dev/sdb: Permission denied
aioobe@e6510:~/bin$


aioobe@e6510:~/bin$ls -la spindown_baydrive 
-rwsr-sr-x 1 root root 37 2011-01-31 09:59 spindown_baydrive

有什么建议?

解决方法

这正是070​​00设计的那种东西.使用visudo编辑sudoers以允许非特权用户以root身份运行您的脚本.

visudo命令

添加这样的一行

aioobe ALL = nopASSWD:/ path / to / spindown_baydrive

并保存文件

现在,您可以使用该命令以root身份运行该文件

sudo / path / to / spindown_baydrive

如果您想要输入密码来运行脚本,请将上面的sudoers行更改为

aioobe ALL = / path / to / spindown_baydrive

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...