setuidgid命令如何工作

时间:2016-04-04 10:18:16

标签: centos6

我在一个使用过setuidgid的脚本中看到过,我无法理解这是如何工作的。也试图在谷歌上找到但没有得到太多。任何帮助将不胜感激。

命令:

/usr/bin/setuidgid -G commonconfig -G commonlog -G lock scriptconfig /usr/local/bin/scriptconfig 

1 个答案:

答案 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/文件夹 我希望你现在明白了。