Su yapmak için tek satırlık bir komut var mı?


15

Bir yapabilirim suile su <username>ve benim şifre sorar. Parola istenmeyecek bir parola parametresi var mı su?

Örneğin su <username> -p <password>


Bu soru süper kullanıcı için perferctly uyuyor gibi görünüyor: superuser.com :-)
HongboZhu


1
superuserBuradan aldım , superuser.com/questions/67765/…
alvas

Yanıtlar:


12

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
!

2
hmm, 'standard in tty olmalı'
John Lawrence Aspden

Aynı hatayı alıyorum
MaxV

12
Hata alınıyor: su: must be run from a terminal.
Abhishek Kashyap

5

İ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 suveya içermeyen bir shellscript yazın sudove çalıştırınsu <username> script.sh


1
su root script hala passwd girmeniz gerekiyor.
Dai Kaixian

@DaiKaixian evet, ancak hiçbir yere kaydedilmedi ve kimse okuyamaz
Wayne_Yux

2
gibi bir şey deneyebilirsiniz echo <passwd> | sudo -S <command-line>.
Dai Kaixian

1
cevabımın asıl amacı, bir komutta şifre yazmanın kaydedilmemesidir. Ben tavsiye Yani değil bunu
Wayne_Yux

-3

Bazı özel komutları yeni bir kullanıcı olarak yürütmek istiyorsanız, aşağıdaki komutu kullanın:
sudo -u {username} {command to be executed as the new user}


Bu soruya cevap vermiyor. Soru, şifrenin nasıl ele alınacağıyla ilgilidir.
Stephen C
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.