sodoers dosyasını visudo aracılığıyla doğrudan değiştirmek yerine /etc/sudoers.d/ içine yerel içerik ekleme


32

Lütfen beni /etc/sudoers.d/ adresindeki bazı örneklere ve daha ayrıntılı talimatlara yönlendirir misiniz?

Bazı komutları sudo için bazı gruplara izin vermek istiyorum, ancak Ubuntu güvenlik modelinde çok kullanıcılı bir makinede gereksiz boşluklar yaratmamak için uygun şekilde.

Eski zamanlarda bazı basit sudo kişiselleştirmeleri yaptım, fakat görünüşe göre şimdi /etc/sudoers.d/ daha uygun bir yol ve daha iyi anlamak istiyorum.

Yanıtlar:


43

Gibi bu soru diyor, /etc/sudoersotomatik sistem yükseltmeleri tarafından değiştirilebilir ve uygunsuz değişikliklere son derece kırılgandır edilebilen bir sistem genelinde yapılandırma dosyasıdır. Potansiyel olarak erişimi kaybedebilir veya sisteminizi uygun olmayan bir değişiklikle yenilmez hale getirebilirsiniz.

$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#

(... some other content ...)

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Beklediğinizin aksine, #includediryönerge bir yorum değildir . Ayrıca, dizindeki ('~' ile bitmeyen ya da '.' Karakterlerini içermeyen) sudodosyaları da okuyup ayrıştırmaya neden olur /etc/sudoers.d.

$ ls -l /etc/sud*
-r--r----- 1 root root  755 sty 20 17:03 /etc/sudoers

/etc/sudoers.d:
total 7
-r--r----- 1 root root 958 mar 30  2016 README
$ sudo cat /etc/sudoers.d/README
#
# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
# 
#   #includedir /etc/sudoers.d
# 
# This will cause sudo to read and parse any files in the /etc/sudoers.d 
# directory that do not end in '~' or contain a '.' character.
# 
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
# 
# Note also, that because sudoers contents can vary widely, no attempt is 
# made to add this directive to existing sudoers files on upgrade.  Feel free
# to add the above directive to the end of your /etc/sudoers file to enable 
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.
#

Aksine /etc/sudoers, /etc/sudoers.dhayatta kalan sistem içeriğini yükseltir, bu yüzden değiştirmek için orada bir dosya oluşturmak tercih edilir /etc/sudoers.

Bu dizindeki dosyaları şu visudokomutla düzenlemek isteyebilirsiniz :

$ sudo visudo -f /etc/sudoers.d/veracrypt
  GNU nano 2.5.3        File: /etc/sudoers.d/veracrypt.tmp                      

# Users in the veracryptusers group are allowed to run veracrypt as root.
%veracryptusers ALL=(root) NOPASSWD:/usr/bin/veracrypt

Lütfen https://help.ubuntu.com/community/Sudoers adresinde anlatıldığı gibi visudofarklı bir düzenleyici kullanabileceğini unutmayın.nano

İşte faydalı bulduğum birkaç bağlantı:


4
Dosyalardaki hataların /etc/sudoers.dsudo'yu düşüremediği doğru değildir. Bu dosyalar birleştirildi /etc/sudoers. Aynı kurallar bu dosyalar için de geçerlidir.
tobltobs

2
Bu doğru değil, yanlış bir dosya ile sistemi çökertebilir, ne kadar az olursa olsun. #includedir sadece basit bir aptalca birleştirme değildir - bazı kontroller yapıldığında en belirgin hataların tespit edilebildiği ve kolayca düzeltebileceğiniz bir kontrol vardır. Ancak dikkatli olun - keskin bir bıçakla kendinize her zaman zarar verebilir, bu yüzden dikkatli kullanın ;-)
Pawel Debski 23:17

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.