Jest to typowy przypadek użycia dla sudo.
Miksujesz, sudoco pozwala na uruchamianie poleceń jako inny użytkownik i jest wysoce konfigurowalne (możesz selektywnie określić, który użytkownik może uruchomić które polecenie jako który użytkownik) i suktóry przełącza się na innego użytkownika, jeśli znasz hasło (lub jesteś rootem). suzawsze uruchamia napisaną powłokę /etc/passwd, nawet jeśli su -cjest używana. Z tego powodu sunie jest kompatybilny z /usr/sbin/nologin.
Powinieneś użyć
sudo -u secure /home/someuser/secure.script
W miarę sudokonfigurowalności możesz kontrolować, kto może korzystać z tego polecenia i czy musi wprowadzić hasło, aby je uruchomić. Aby to zrobić, musisz dokonać edycji /etc/sudoersza pomocą visudo. (Zachowaj ostrożność podczas edytowania / etc / sudoers i zawsze używaj do tego visudo. Składnia nie jest trywialna, a jeden błąd może zablokować ci konto root).
Ta linia w sudoers pozwala każdemu w grupie somegroupna uruchomienie polecenia jako secure:
%somegroup ALL=(secure) /home/someuser/secure.script
Dzięki temu każdy w grupie somegroupmoże uruchomić polecenie securebez wprowadzania hasła:
%somegroup ALL=(secure) NOPASSWD: /home/someuser/secure.script
Pozwala to user1na uruchomienie polecenia securebez wprowadzania hasła:
user1 ALL=(secure) /home/someuser/secure.script
sudo su, patrz unix.stackexchange.com/questions/218169/…