Yalnızca bir komut yürüten UNIX hesabı oluşturma


13

Solaris'te kullanıcıların yalnızca bir komut çalıştırmasına izin veren bir kullanıcı hesabı oluşturmanın bir yolu var mı? Giriş kabuğu veya başka bir şey yok. Ben muhtemelen bunu yapabilirdi /usr/bin/falseiçinde /etc/passwdve sadece kullanıcı olsun ssh <hostname> <command>, ama bunu yapmak için güzel bir yol var?

Yanıtlar:


15

Bir kullanılmış olabilir zorla komutu kullanıcılar sadece ssh ile bağlanacak olursa. Temel olarak, kullanıcı ssh aracılığıyla belirli bir anahtar ve belirli bir kullanıcı adıyla bağlantı kurduğunda, onu .ssh / yetkili_anahtarlarında belirlediğiniz bir komutu (veya bir komut dosyasını veya) yürütmeye zorlarsınız. Kullanıcılar tarafından verilen komutlar yok sayılır.

Örneğin:

# in .ssh/authorized_keys
command="cd /foo/bar && /path/to/scripts/my_script.sh arg1 arg2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa public_key

Bothkiniz de haklýydýnýz. Yaptığım şey, komut isteminde bir menü sağlayan ve yetkili kullanıcı için anahtarın önündeki sunucuda .ssh / yetkili_anahtarlarında zorunlu denetim komutunu kullanan bir komut dosyası oluşturuldu. Bu şimdi sunucuya ssh sağlar ve komut isteminde yürütmek için birkaç komut ile güzel bir menü verilir. Başka hiçbir şey çalıştırılamaz. Mutlu günler!
Will Dowling

2
Düzenlenen; zorunlu bir komutu güvenceye almak için şu seçeneklere ihtiyacınız vardır: "no-port-forwarding, no-X11-forwarding, no-agent-forwarding, no-pty".
Tobu

11

Bu kullanıcının kabuğunu, izin vermek istediğiniz komutu çalıştıran bir komut dosyasına ayarlayabilirsiniz: Kullanıcı her oturum açtığında, komut çalıştırılır, ardından kullanıcı oturumu kapatılır. Ve "tam kabuk" olmadığı için korkak şeyler deneyen kullanıcı ile uğraşmak zorunda değilsiniz;)


0

Bunu RBAC ile yapabilir ve kullanıcıya ayrıcalıklı bir kabuk (pfsh, pfcsh veya pfksh) verebilir ve kullanıcının çalışmasına izin verilen komutlar için bir profil oluşturabilir misiniz diye merak ediyorum.

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.