Bu kullanıcı şu anda kullanılamıyor - ancak bu kullanıcı tarafından komut dosyasının çalıştırılmasına izin ver


22

/ Etc / passwd dizininde özel kullanıcı oluşturdum:

secure:x:2000:2000:secure:/bin:/usr/sbin/nologin

Bu kullanıcının oturum açmasına izin vermek istemiyorum (konsol, ssh, ftp, herhangi bir şekilde).

O sadece bir senaryoyu çalıştırmak için:

sudo su secure -c '/home/someuser/secure.script'

Ama bana veriyor This user is currently not available.. Komut dosyasını bu şekilde çalıştırabilecek ancak bu kullanıcının sisteme giriş yapmasını (konsol, ssh, ftp, ...) engelleyecek şekilde nasıl ayarlanır?


/usr/sbin/nologinKomut satırına yazdığımda bilgisayarın yanıt verdiğini fark ettim This account is currently not available..


Yanıtlar:


27

Bu tipik bir kullanım durumudur sudo.

Sen karıştırma ediyoruz sudobaşka bir kullanıcı olarak çalışan komutları verir ve ve (seçerek hangi kullanıcı olarak hangi komutu çalıştırabilirsiniz hangi kullanıcı belirtebilirsiniz) çok yapılandırılabilir hangi suşifreyi bilmek (veya kök) if hangi başka bir kullanıcıya geçer. kullanılsa bile sudaima yazılan kabuğu çalıştırır . Bu ile uyumlu değil ./etc/passwdsu -csu/usr/sbin/nologin

Kullanmalısın

sudo -u secure /home/someuser/secure.script

Olarak sudoyapılandırılabilir Bu komutu kimlerin kullanabileceğini kontrol edebilir ve o / o bir şifre girmek gerekiyorsa bunu çalıştırmak için. Bunu yapmak /etc/sudoersiçin visudodüğmesini kullanarak düzenlemeniz gerekir . (/ Etc / sudoers düzenlerken dikkatli olun ve bunu yapmak için her zaman visudo kullanın. Sözdizimi önemsiz değildir ve bir hata sizi kök hesabınızdan kilitleyebilir.)

Sudoers'daki bu satır, gruptaki herkesin somegroupşu komutu çalıştırmasına izin verir secure:

%somegroup    ALL=(secure) /home/someuser/secure.script

Bu, gruptaki herkesin bir şifre girmeden somegroupkomutu çalıştırmasına izin verir secure:

%somegroup    ALL=(secure) NOPASSWD: /home/someuser/secure.script

Bu user1, komutun securebir parola girmeden çalışmasına izin verir :

user1    ALL=(secure) /home/someuser/secure.script

13

Ben ana sorunu " /usr/sbin/nologin" olduğunu /etc/passwd öğrendim Ben bu durumda su yürütmek istediğinizde, içinde olması gerekir -s /bin/bash, yani:su -s /bin/bash -c '/home/someuser/secure.script' secure


1
Evet, suvarsayılan olarak / etc / passwd ile yazılmış kabuğu kullanır. Kullanmak su, başka bir kullanıcıdan kullanıcı olarak oturum açmanın bir yoludur. nologin"Bu kullanıcı şu anda kullanılamıyor" iletisini yazdırıyor. ve çıkar. sudobir komutu yürütmek için bir kabuk kullanmaz, bu nedenle sudoonsuz kullanmak suda çalışır. Hakkında daha fazla bilgi için cevabım bakın sudo.
cg909

2

su, içinde belirtilen kabuğu kullanıyor /etc/passwd.

Kullanılacak gerekmez suile sudo.

Bu nedenle karışmaz suile sudokullanım: sudo -u secure '/home/someuser/secure.script'.


-3

Bu, soru ile% 100 alakalı olmayabilir, ancak benzer uyarı mesajına sahip birine yardımcı olabilir This user is currently not available

1) Kabuk erişimi verdiyseniz hosting şirketinize danışın.

2) CWP7 kullanıyorsanız: Kabuk Erişimini AÇIK olarak ayarlayın resim açıklamasını buraya girin


2
1) Kabuk erişim çalıştırma hakkında soru görüşmelerin açıkça mevcuttur su, sudove diğer şeylerin her türlü. 2) Söz konusu kurulumun herhangi bir formdaki bir web kontrol panelinin arkasında olduğuna dair herhangi bir gösterge yoktur.
Philip Kendall

1
Evet (bir Soru-Cevap sitesi dışında, bir forum değil). Ama yararlı olmanın bir parçası cevap soruya aslında alakalı olduğunu ve bu cevabı olduğunu sanmıyorum emin olmaktır olduğunu aslında ilgili: (poster açıkça yüzden nasıl bir kontrol paneli aracılığıyla açmadan olur, zaten kabuk erişimi olan olmayabilir) sorunu çözmek?
Philip Kendall

3
@ShapCyber: Bu sorunun manuel olarak kendi başına yeni, özel bir kullanıcı oluşturan biriyle ilgilendiğine dikkat edin. Bu "evre" (Soru) içindeki cevaplar bu sorudaki duruma değinmelidir. Eğer bir çözüm olarak bu olan farklı bir sorunla karşılaştıysanız, yapılacak doğru şey olduğunu sor ve kendi yeni bir soru Kendinden cevaplayın.
Jeff Schaller

1
@JeffSchaller'in söyledikleri doğru. Ve gerçekten için, ShapCyber teşvik edeceğini yapmak isteyin ve (faydalı olmak için yeterli ayrıntılı olarak) Karşılaştığınız sorunu ve çözümü ile soru kendiliğinden cevap; ve ardından bu soruya kendinize bağlantı vermek için bir yorum ekleyin. Bu sitenin nasıl kurulduğu çerçevesinde gelecekteki okuyuculara en iyi şekilde nasıl yardımcı olunur. :)
Wildcard

2
@ShapCyber ​​bu yüzden sizi yeni bir soru açmaya teşvik ediyoruz, böylece aramalar problemleri için doğru cevabı buluyor.
Jeff Schaller
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.