Belirli misafirlerin belirli komutları yürütmesine izin ver


19

Komutları kullanarak sunucuyu güncelleyebilen Debian / Ubuntu ana bilgisayarlarımdan bazılarında yeni bir kullanıcı oluşturmak istiyorum apt-get updateve apt-get dist-upgradeancak başka bir şey yapabilmek için onlara tam sudo erişimi vermek istemiyorum. Mümkün mü? Belki de kök kullanıcı olarak yürütülecek olan, düzenleyemedikleri ancak yürütebilecekleri bir komut dosyası oluşturmanın bir yolu vardır?


2
Bkz man sudoersve sudo cat /etc/sudoers.
goldilocks

Thanks @goldilocks Her zaman sudoers dosyasının sadece insanların daha önce root erişimi vermesine izin vermek olduğunu düşünmüştüm.
Programcı

Yanıtlar:


30

Sudove /etc/sudoersdosya yalnızca kullanıcılara tam root erişimi vermek için değildir.

Sudoers dosyasını varolan bir sudo kullanıcısıyla, komutuyla düzenleyebilirsiniz. sudo visudo

Erişim izni vermek istediğiniz komutları aşağıdaki gibi gruplayabilirsiniz:

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get

Daha sonra şu komutlara belirli bir kullanıcı ayrıcalıkları verebilirsiniz:

[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS

Bu, aşağıdaki resimde görülebilir resim açıklamasını buraya girin:

Şimdi denerseniz sudo apt-get updateveya sudo apt-get dist-upgradebu komutlar şifre sormadan yürütülür . Parola girmeniz istenirse, NOPASSWDkullanıcıya komut gruplarına erişim izni verdiğiniz biti kaldırın .

sudoKullanıcı olarak başka bir şey çalıştırmayı denerseniz , bir şifre girmeniz ve başarısız olmanız istenir.

Referanslar


6
Not Kullanıcılara izni veren çalıştırmanızı apt-get, hatta sadece apt-get upgrade, onlara tam kök erişim sağlar ! Birçok yükseltme komut dosyası, etkileşimli kullanıcının, örneğin bir yapılandırma dosyası değiştiğinde bir kabuk yürütmesine izin verir. Güvende olmak için, apt-getbelirli komutlarla kısıtlayın ve etkileşimli olmaya zorlayın. Bkz benim ssh kullanıcı için güvenli Is it için şifresiz sudo verilecek apt-get updateve apt-get upgrade?
Gilles 'SO- kötü olmayı bırak'

Benim durumumda sonra çizgi koymak zorunda kaldı%sudo ...
Aleksey

Bunu sadece komut satırından yapmanın bir yolu var mı?
Kamil Dziedzic
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.