Giriş
Bu dosya elle değil visudo ile düzenlenmeli. Zaten dosyanın başında bu bilgi veriliyor. Görmek için şöyle yaparız
Açıklaması şöyle.
Ortam değişkenlerini sıfırlar.
Örnek
Şöyle yaparız
Ubuntu ortam değişkenlerini sıfırlamıyor. $HOME değişkeninin aynı kaldığını görmek için şöyle yaparız.
Elimizde myhome.sh olsun
Şifrenin ne kadar süre boyunca saklanacağını belirtir.
Örnek
Şöyle yaparız.
Elimizde şöyle bir satır olsun.
sudo grubundakilerin şifresiz komut çalıştırabilmesi için şöyle yaparız.
Açıklaması şöyle. sudo komutunu çalıştırmaya hakkı olmayan birisinin gerçekleştirdiği eylem /var/log/auth.log dosyasına kaydedilir. E-posta göndermesi de isteniyorsa bu değişkene değer atanır.
Bu dosya elle değil visudo ile düzenlenmeli. Zaten dosyanın başında bu bilgi veriliyor. Görmek için şöyle yaparız
$ 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.
#
# See the man page for details on how to write a sudoers file.
Defaults KomutuAçıklaması şöyle.
Certain configuration options may be changed from their default values at run-time via one or more Default_Entry lines. These may affect all users on any host, all users on a specific host, a specific user, a specific command, or commands being run as a specific user. Note that per-command entries may not include command line arguments. If you need to specify arguments, define a Cmnd_Alias and reference that instead.Defaults/env-reset değişkeni
Ortam değişkenlerini sıfırlar.
Örnek
Şöyle yaparız
Defaults env_reset Defaults env_keep += "PYTHONPATH OTHERVARIABLE YETANOTHER"Örnek
Ubuntu ortam değişkenlerini sıfırlamıyor. $HOME değişkeninin aynı kaldığını görmek için şöyle yaparız.
Elimizde myhome.sh olsun
echo $HOME
Şöyle yaparız. $HOME hep /home/user olarak kalıyor.$ echo $HOME
/home/user
$ sudo echo $HOME
/home/user
$ bash myhome.sh
/home/user
$ sudo bash myhome.sh
/home/user
Debian ise $HOME değişkenini /root haline getiriyor. Şöyle yaparız$ echo $HOME
/home/user
$ sudo echo $HOME
/home/user
$ bash myhome.sh
/home/user
$ sudo bash myhome.sh
/root
Defaults/timestamp_timeout değişkeniŞifrenin ne kadar süre boyunca saklanacağını belirtir.
Örnek
Şöyle yaparız.
Defaults env_reset, timestamp_timeout=120, pwfeedback
ÖrnekElimizde şöyle bir satır olsun.
Defaults timestamp_timeout=0
Elimizde şöyle bir satır olsun
## user is allowed to execute reboot -r only
jdoe ALL=NOPASSWD: /sbin/shutdown -r *
Şöyle yaparız.[root@ops ~]# su - jdoe
[jdoe@ops ~]$ sudo shutdown -c //Şifre gerekir
[sudo] password for jdoe:
[jdoe@ops ~]$ sudo shutdown -r +10
Shutdown scheduled for Mon 2018-09-03 18:51:13 IDT, use 'shutdown -c' to cancel.
[jdoe@ops ~]$ sudo shutdown -H //Şifre gerekir
[sudo] password for jdoe:
^[[A[jdoe@ops ~]$ sudo shutdown -c //Şifre gerekir
[sudo] password for jdoe:
NOPASSWD Alanı
Belirtilen komutlar için şifre sorulmamasını sağlar
Örnek
gitlab-ci kullanıcısının cp ve mv gibi komutları şifresiz çalıştırabilmesi için şöyle yaparız
Örnekecho 'gitlab-ci ALL=(ALL) NOPASSWD: /bin/mv, NOPASSWD: /usr/bin/systemctl,
NOPASSWD: /bin/cp' | sudo EDITOR='tee -a' visudo
sudo grubundakilerin şifresiz komut çalıştırabilmesi için şöyle yaparız.
# Allow members of group sudo to execute any command, no password
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Örnek
Tük kullanıcıların poweroff komutunu çalıştırılabilmesi için şöyle yaparız
%users ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot
mail-no_user değişkeni
If set, mail will be sent to the mailto user if the invoking user is not in the sudoers file. This flag is on by default.secure-path değişkeni
sudo sistemin $PATH değişkenini değil, kendi değişkenini kullanır.
Örnek
Şöyledir
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
group Belirtme
Burada (group:username) şeklinde kullanılıyor. sudo'nun amacı zaten komutu kendimden farklı bir group ve kullanıcı ismi ile kullanmak. Şöyle yaparız
sudo -u user1 -g group1 some_program
Örnek
Şöyle yaparız
root ALL = (ALL:ALL) ALL
%wheel ALL = (ALL:ALL) ALL
Sadece username Belirtme
When multiple entries match for a user, they are applied in order. Where there are multiple matches, the last match is used (which is not necessarily the most specific match).
Örnekler şöyle
ALL =(root): komut - root olmayan kullanıcılar içindir
ALL =(ALL): komut - herkes içindir
Örnek
# Allow members of group sudo to execute any command
%wheel ALL=(ALL:ALL) ALL
Örnek
root olmayan kullanıcılara hak vermek için şöyle yaparız
username ALL=(root): /usr/sbin/reboot
username ALL=(root): /usr/bin/systemctl reboot
Örnek
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Hiç yorum yok:
Yorum Gönder