Problem, który otrzymuję, kiedy wpisuję polecenie,
su - root
na początku mojego pliku skryptu powłoki monituje użytkownika o podanie hasła, a następnie NIE kontynuuje reszty skryptu powłoki. Następnie muszę ręcznie zlokalizować i uruchomić skrypt powłoki za pomocą terminala. Chcę, aby skrypt upewnił się, że użytkownik zaloguje się jako root, a następnie kontynuuje resztę skryptu powłoki.
Innymi słowy, chcę uruchomić skrypt jak każdy użytkownik, ale jak tylko skrypt zacznie się uruchamiać, użytkownik musi przejść do rootowania, a następnie kontynuować pracę z resztą skryptu jako root, dopóki nie zostanie wykonane. Czy można to zrobić?
sudo: must be setuid root
, wtedy coś się stało z twoim sudo. Aby to naprawić:chmod u+s $(which sudo)
. I tak, jestem w pełni świadomy tego, co próbujesz zrobić, robię to samo przez cały czas w moich skryptach.Możesz również sprawdzić identyfikator UID:
źródło
Możesz wywołać sam skrypt i sprawdzić:
źródło
W miejscu, w którym chcesz się zalogować, po prostu dodaj następujące polecenie
Działa to doskonale z moim kodem
źródło