以其他用户身份运行makefile命令



我有两个脚本,由root拥有。

#!/bin/sh
#script1.sh
echo "all: first" > my_makefile
echo >> my_makefile
echo "first: " >> my_makefile
echo "ttouch file.txt" >> my_makefile
#!/bin/sh
#script2.sh
while true
do
 make -f my_makefile
 sleep 10
done

script2.sh被称为"sudo-shscript.sh",并在my_makefile上持续运行make。script1.sh由单个用户调用以更改生成文件。

如何运行makefile命令,使file.txt归用户所有,而不是root用户所有?

#!/bin/sh
#script1.sh
...
echo "tchown "`logname`" file.txt" >> my_makefile

对不起,我没有正确使用sudo。我只需要将script2.sh的最后一行替换为:

echo "sudo su -m -l `whoami` -c "touch file.txt"" >> my_makefile

最新更新