Bir yapabilirim su
ile su <username>
ve benim şifre sorar. Parola istenmeyecek bir parola parametresi var mı su
?
Örneğin su <username> -p <password>
superuser
Buradan aldım , superuser.com/questions/67765/…
Bir yapabilirim su
ile su <username>
ve benim şifre sorar. Parola istenmeyecek bir parola parametresi var mı su
?
Örneğin su <username> -p <password>
superuser
Buradan aldım , superuser.com/questions/67765/…
Yanıtlar:
Farklı bir kullanıcı olarak çalışan bir komut dosyası yazmak istiyorsanız, bunun gibi bir şey çalışır, ancak standart olarak bir satırsonu olmadan "parola" kelimesinin çıktısını almasına rağmen
su - username <<!
enterpasswordhere
enter commands to run as the new user
!
fred adında 1234 parolasına sahip bir kullanıcınız varsa ve parola dizesi görüntülenmeden fred'in ana dizininin ls değerini fred olarak almak istiyorsanız, şöyle görünecektir:
su - fred <<! >/dev/null 2>&1
1234
whoami > /dev/tty
ls > /dev/tty
!
su: must be run from a terminal
.
İnanıyorum ki, yok ve iyi bir fikir olmayacak. Nedeni:
Bir komut gibi bir parola yazarsanız, parola su <username> -p <password>
geçmişinizde düz metin olarak saklanır. Bu kesinlikle büyük bir güvenlik sorunudur.
Komutları su
(veya sudo
) ile otomatik olarak çalıştırmanız gerekiyorsa , komutları içermeyen su
veya içermeyen bir shellscript yazın sudo
ve çalıştırınsu <username> script.sh
su root script
hala passwd girmeniz gerekiyor.
echo <passwd> | sudo -S <command-line>
.