如何在启动时以root身份运行程序?

时间:2013-12-18 12:00:11

标签: screen root startup su

有一些问题。我有以下脚本:

cd /home/program
screen -S program -d -m ./program.sh

在/etc/init.d中,它在启动时运行。

哪个工作正常,但它以root身份运行,我不希望它以root身份运行。我已尝试使用su programs-user然后执行屏幕,但它只打开屏幕而没有其他任何内容。我认为这是一个权限,但我不完全确定,因为我不熟悉linux。

编辑:这就是我现在所得到的 su username -c "screen -S screen_name -d -m bash -c 'cd /home/user && ./program'"
它没有做任何事情。

Edit2:我猜是因为用户没有运行屏幕的权限,不知道如何给予该权限。

Edit3:好的,当我使用用户名登录时,它实际上正在工作,但当我以root身份输入screen -ls时,我看不到屏幕

1 个答案:

答案 0 :(得分:0)

#!/bin/bash

screen -dmS screen_name
screen -S screen_name-p 0 -X stuff $'su username\n'
screen -S screen_name-p 0 -X stuff $'cd /home/username\n'
screen -S screen_name-p 0 -X stuff $'./program\n'