1
A
回答
4
使用sudo -u username
您可以使用username
權限運行程序。就像這樣:
sudo -u youruser yourscript.sh
如果您不能使用sudo
,您可以用followind命令嘗試,爲@Torrius建議:
su - youruser -c "yourscript.sh"
如果你甚至不能使用後者的解決方案,你可以編寫一個小型的c程序,該程序以參數化的user and group id
的權限運行可執行文件。
看看這個概念代碼:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
if (argc < 3)
{
printf("Usage: ./this [uid] [gid]\n");
return 1;
}
setuid(atol(argv[1]));
setgid(atol(argv[2]));
execl("/usr/bin/whoami", "whoami", 0, 0);
return 0;
}
爲了測試它:
myshell:~ root$ ./a.out 501 501
davide
myshell:~ root$ ./a.out -2 -2
nobody
myshell:~ root$ ./a.out 1 1
daemon
相關問題
- 1. 從其他控制檯應用程序運行控制檯應用程序
- 2. 運行C#控制檯應用程序
- 3. 使用Windows調度程序運行控制檯應用程序
- 4. 如何限制快速應用程序中的用戶權限?
- 5. 從C#控制檯應用程序運行JScript時的權限問題
- 6. 如何從控制檯應用程序運行程序?
- 7. 從Windows XAML應用程序運行控制檯應用程序
- 8. 作爲控制檯應用程序運行Asp.net應用程序
- 9. 如何在後臺運行.NET控制檯應用程序
- 10. 如何在後臺運行控制檯應用程序(無UI)?
- 11. Windows應用程序運行它的用戶的不同權限
- 12. 運行SQL Service Broker應用程序的最低用戶權限
- 13. 如何創建運行控制檯應用程序的按鈕?
- 14. 在C#窗口應用程序中控制用戶權限
- 15. 我如何從java控制檯運行控制檯應用程序?
- 16. 如何運行C#控制檯應用程序(如果崩潰)
- 17. 如何測量C#控制檯應用程序運行時間?
- 18. 如何從Windows Service運行控制檯應用程序?
- 19. 如何一直運行Java控制檯應用程序?
- 20. 在後臺運行的服務或控制檯應用程序?
- 21. 用於運行控制檯應用程序的EWS WebCredentials用戶類型
- 22. 用戶權限控制
- 23. 如何在控制檯應用程序
- 24. 如何使用控制檯應用程序與Akka總是運行的應用程序通信?
- 25. 在後臺運行控制檯應用程序
- 26. 應用程序/用戶權限問題
- 27. 授予iPhone應用程序根權限
- 28. 根權限凍結android應用程序
- 29. 給Cydia應用程序根權限
- 30. 給django應用程序根權限?
你的答案是在一個共同的全面完成,但我嘗試做這個項目中的其中'sudo'是限制。你有什麼新想法嗎?如果沒有,我會完成這一點。 – Torrius 2013-03-05 18:46:36
用更多選項更新的答案 – 2013-03-05 19:15:55
這種方式也可能有用。 'su - username -c「bash_script」' – Torrius 2013-03-06 15:08:13