1
dndx 2013-05-20 22:17:53 +08:00
Please Google "setuid"
|
2
halfbloodrock 2013-05-20 22:25:44 +08:00
我不知道我理解的是不是正确,普通用户run 脚本,然后脚本里有一些命令要用root权限。
我的方法:如果就1,2台机器 在visudo里配置command alias。然后脚本里写sudo command. |
3
liprais 2013-05-20 22:27:45 +08:00
@halfbloodrock 这种需要输入密码啊....
|
4
halfbloodrock 2013-05-20 22:37:56 +08:00
@liprais 设为NOPASSWROD就可以了。
|
5
happlebao OP @halfbloodrock 20台吧,一半ubuntu,一半os x。我是想拿bash写自动化环境配置脚本。每台机子都手动配的话就太累了...
|
6
little_cup 2013-05-21 00:01:13 +08:00
@dndx 我依稀记得是不能用于脚本的……
|
7
chemzqm 2013-05-21 02:28:29 +08:00
在脚本里一般情况需要root就是sudo,需要重定向就用sudo sh -c COMMOND
Ubuntu可修改sudo密码过期时间,命令sudo visudo添加 Defaults passwd_timeout=30 设置为30分钟后过期 运行脚本输入一次当前用户密码即可,或者使用expect |
8
egen 2013-05-21 11:06:44 +08:00 1
个人觉得 sudo 跑脚本然后 sudo -u User 的方法好一点
如果普通权限跑一半遇到 sudo 到 root,需要输入密码是挺烦人的一件事,无人值守方面不大好 |
9
panzhc 2013-05-21 17:11:15 +08:00
把需要root执行权限的命令改成普通用户也可以执行呢?
chown 0.0 /path/to/file chmod u+s /path/to/file |
10
linchanx 2013-05-21 17:34:15 +08:00
setuid 可以让普通账号执行root账号才能执行的程序
|
11
glancesx 2013-05-23 21:05:01 +08:00
su - xxx -c " command "
xxx是普通用户 |