我在一个使用过setuidgid的脚本中看到过,我无法理解这是如何工作的。也试图在谷歌上找到但没有得到太多。任何帮助将不胜感激。
命令:
/usr/bin/setuidgid -G commonconfig -G commonlog -G lock scriptconfig /usr/local/bin/scriptconfig
答案 0 :(得分:2)
Daemontools
是用于管理UNIX
服务的工具集合
使用特定用户运行服务:
创建一个样本服务以便清楚理解:
mkdir /services/yourservice
vim /services/yourservice/run.sh
在那个run.sh.添加以下内容:
#!/bin/sh
exec setuidgid <user_name> <command>
使用此命令保存并更改权限:
chmod 755 run.sh
然后链接到您的服务:
ln -s /services/yourservice/ /service/
这应该创建一个与指定用户关联的服务
setuidgid cmd也可用于记录:
创建用户:
adduser <user_name>
然后创建如下文件夹:
mkdir /services/somerandomservice/log
mkdir /services/somerandomservice/log/main
然后为您创建的新用户分配main
文件夹:
chown <user_name> /services/somerandomservice/log/main
创建文件:
vim /services/somerandomservice/log/run.sh
在该文件中添加以下内容:
#!/bin/sh
exec setuidgid <user_name> multilog t ./main
保存,更改文件权限:
chmod 755 run.sh
现在,有关您创建的用户的所有日志都应转到/main/
文件夹
我希望你现在明白了。