Sadece belirli bir komuta sudo erişimi vermek mümkün mü?


24

Amaç: LAMP kurulumlu bir geliştirme makinem var. Birkaç geliştirici makineye zaman zaman erişebilirdi. Bir yapılandırma dosyasında bazı değişiklikler yaptıklarında, sudo service apache restartveya kullanarak apache sunucusunu yeniden başlatmaları gerekir.sudo /etc/init.d/apache2 restart

Soru:

Şu an istediğim, makineye erişen her geliştiricinin her şeye sudo erişimi olmadığı. Aksine, servicekomutu yalnızca sudo ve başka bir şey kullanarak çalıştırabilmelidir . Bunu yapmak mümkün mü?

Yanıtlar:


35

Evet.

Yeni bir grup oluşturun, web (ne istersen onu söyle)

sudo addgroup web

Geliştirici (ler) ini web grubuna ekleyin (giriş adlarını kullanın).

sudo adduser your_developer_user web

Ardından çalıştırın sudo visudo -f /etc/sudoers.d/somefile(bunun yerine anlamlı bir ad kullanın somefile).

Bir satıra ekleyin (komutun tam yolunu kullanın):

%web ALL=(ALL) /usr/bin/service apache2 *

Geliştiriciler daha sonra çalıştırabilir

sudo service apache

Giriş şifresini kullanarak.

Yönetici kullanıcınızı web grubuna eklemeyin.

Ek bilgi için man sudo'larına bakınız.


1
@Ankit: bu şekilde webgrubun kullanıcıları herhangi bir hizmeti başlatabilir / durdurabilir ve istediğiniz bu değil bence. Çözüm, tam komutu (ayrıca parametrelerle birlikte) içine koymak olmalıdır /etc/sudoers.
enzotib

@enzotib bunu yapabilir miyim yani yani yeni komut /usr/bin/service apache2bu mu?
Ankit

3
@Ankit:/usr/bin/service apache2 *
enzotib

Bu da muhtemelen olmalı/usr/sbin/service
Erfan
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.