sudo
Linux sistemlerinde en sık kullanılan komutlardan biridir. Bir kullanıcının belirli bir programı, varsayılan olarak süper kullanıcı olan başka bir kullanıcı olarak çalıştırmasını sağlar.
Çoğunlukla idari amaçlar için kullanılır; bir Linux PC'de yönetici olmayan kullanıcılara sınırlı yönetici erişimi sağlar.
Örneğin, varsayılan olarak, bir kullanıcının bir Ubuntu sistemine paket yüklemesine izin verilmez. Ancak, kullanıcı bunu sudo
komutla yapabilir.
Sudo olmadan root olmayan kullanıcı bir program yükleyemez . Aşağıdaki başarısız deneme örneğine bakın:
apt-get install aptitude
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
Sudo ile root olmayan bir kullanıcı , sisteme herhangi bir sorun yaşamadan program yükleyebilir .
sudo apt-get install aptitude
Reading package lists... Done
Building dependency tree
....
Mevcut kullanıcıyı Sudo kullanıcısı olarak ekle
Bir kullanıcı, sudo
kullanıcı grubunun bir parçası değilse, sudo
komutu kullanamaz . Çıktının altına atacak:
testuser is not in the sudoers file. This incident will be reported.
Sudoers listesine bir kullanıcıusermod
eklemek sudo
için, sistemdeki gruba mevcut bir kullanıcıyı eklemek için komutu kullanın . Aşağıda örnek bir komut bulunmaktadır.
sudo usermod -aG sudo testuser
Burada -a
seçenek 'ekle' anlamına gelir. Mevcut grupların kullanıcı üyeliğinin etkilenmemesini sağlar. -G
kullanıcının hangi gruba ekleneceğini belirtmek içindir.
Sudo grubuna bir kullanıcı eklendiğinde, bu kullanıcı sistemde bir sonraki oturum açışında terminalde aşağıdaki mesaj görüntülenir.
To run a command as administrator (user "root"), use "sudo".
See "man sudo_root" for details.
Sudo ayrıcalıklarına sahip yeni bir kullanıcı oluşturun
adduser
yeni bir kullanıcı oluşturmak için kullanılan Linux komutudur. Oluşturma sırasında kullanıcıyı sudo grubuna eklemek için
bayrakla kullanılabilir --ingroup
.
sudo adduser testuser --ingroup=sudo
Sudo ile hangi komutlara izin verilmesi gerektiğini kısıtlayın
Dosya /etc/sudoers
, sudo
komut için yapılandırma seçeneklerini içerir . Bu dosya, kök için bile doğrudan yazmaya karşı korumalıdır. Bu dosyayı düzenlemenin tek yolu visudo
komutu kullanmaktır .
sudo visudo
Yukarıdaki komut, dosyayı nano komut satırı düzenleyicisini kullanarak açacaktır. Kaydırın ve dosyada aşağıdaki satırları bulun.
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Satırdaki son ALL
, tek komutla veya sudo ile izin verilmesi gereken komutlar kümesiyle değiştirilebilir.
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) /bin/mv, /usr/sbin/visudo
Önemli Not: Yukarıdaki sudoers dosyasında önerilen değişiklikler, sudo kullanıcılarının yalnızca komutları mv
ve visudo
. Bu yalnızca açıklama amaçlıdır, bu kısıtlamaları sisteminizdeki sudo kullanıcılarına zorlamanız gerekmez.
Yukarıda paylaşılan talimatları kullanarak sudoers dosyasında herhangi bir değişiklik yaptıysanız Ctrl + O
, değişikliklerin uygulanması için dosyayı kullanarak kaydettiğinizden emin olun . Daha sonra kullanarak nano'dan çıkabilirsiniz Ctrl + X
.
Değişikliklerin gerçekleşmesi için oturum açmanız/oturum kapatmanız veya sistemi yeniden başlatmanız veya yeni bir terminal penceresi başlatmanız gerekebilir.
🍻 Şerefe!