Android

Linux'ta Sudo Komutu

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

Sudo komutu, programları varsayılan olarak kök kullanıcı olarak başka bir kullanıcı olarak çalıştırmanıza izin verir. Komut satırında çok fazla zaman harcarsanız, sudo oldukça sık kullanacağınız komutlardan biridir.

Kök olarak oturum açmak yerine sudo kullanmak daha güvenlidir çünkü kök parolayı bilmeden tek tek kullanıcılara sınırlı yönetici ayrıcalıkları verebilirsiniz.

Bu derste sudo komutunun nasıl kullanılacağını açıklayacağız.

Sudo kurulumu (sudo komutu bulunamadı)

Sudo paketi çoğu Linux dağıtımına önceden yüklenmiştir.

Sudo paketinin sisteminizde yüklü olup olmadığını kontrol etmek için konsolunuzu açın, sudo yazın ve Enter tuşuna basın. Eğer sudo yüklediyseniz, sistem kısa bir yardım mesajı görüntüler, aksi takdirde sudo command not found gibi bir şey görürsünüz.

Sudo kurulu değilse dağıtımınızın paket yöneticisini kullanarak kolayca kurabilirsiniz.

Ubuntu ve Debian'a Sudo yükleyin

apt install sudo

Sudo'yu CentOS ve Fedora'ya yükleyin

yum install sudo

Sudoers'a Kullanıcı Ekleme

Varsayılan olarak, sudo erişimi veren çoğu Linux dağıtımında, kullanıcıyı sudoers dosyasında tanımlanan sudo grubuna eklemek kadar basittir. Bu grubun üyeleri herhangi bir komutu root olarak çalıştırabilir. Grubun adı dağıtımdan dağıtıma değişebilir.

CentOS ve Fedora gibi RedHat tabanlı dağıtımlarda sudo grubunun adı çarktır. Kullanıcıyı grup çalışmasına eklemek için:

usermod -aG wheel username

Debian, Ubuntu ve türevlerinde sudo grubunun üyelerine sudo erişimi verilir:

usermod -aG sudo username

Ubuntu'daki kök kullanıcı hesabı güvenlik nedeniyle varsayılan olarak devre dışıdır ve kullanıcıların sudo kullanarak sistem yönetim görevi gerçekleştirmesi önerilir. Ubuntu yükleyicisi tarafından oluşturulan ilk kullanıcı zaten sudo grubunun bir üyesidir, bu nedenle Ubuntu çalıştırıyorsanız, oturum açmış olduğunuz kullanıcı zaten sudo ayrıcalıklarıyla verilir.

Örneğin, kullanıcı linuxize sudo olarak yalnızca mkdir komutunu çalıştırmasına izin vermek için şunu yazın:

sudo visudo

ve aşağıdaki satırı ekleyin:

linuxize ALL=/bin/mkdir

Çoğu sistemde, visudo komutu /etc/sudoers dosyasını vim metin düzenleyicisiyle açar. Vim ile ilgili deneyiminiz yoksa, bir dosyayı nasıl kaydedeceğinizle ilgili makalemize bakın ve vim düzenleyicisinden çıkın.

Kullanıcıların şifre girmeden sudo komutlarını çalıştırmalarına da izin verebilirsiniz:

linuxize ALL=(ALL) NOPASSWD: ALL

Sudo Nasıl Kullanılır

sudo komutunun sözdizimi aşağıdaki gibidir:

sudo OPTION.. COMMAND

sudo komutu, davranışını kontrol eden birçok seçeneğe sahiptir, ancak genellikle sudo herhangi bir seçenek olmadan en temel biçiminde kullanılır.

Sudo kullanmak için, komutun önüne sudo :

sudo command

Burada command , sudo kullanmak istediğiniz komuttur.

Sudo /etc/sudoers dosyasını okuyacak ve çağıran kullanıcıya sudo değerlendirmesine izin verilip verilmediğini kontrol edecektir. Bir oturumda sudo'yu ilk kez kullandığınızda, kullanıcı parolasını girmeniz istenir ve komut root olarak yürütülür.

Örneğin, /root dizinindeki tüm dosyaları listelemek için:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Şifre Zaman Aşımı

Varsayılan olarak, sudo sizden beş dakika boyunca sudo hareketsiz kaldıktan sonra şifrenizi tekrar girmenizi ister. sudoers dosyasını düzenleyerek varsayılan zaman aşımını değiştirebilirsiniz. Dosyayı visudo ile açın:

sudo visudo

Aşağıdaki satırı ekleyerek varsayılan zaman aşımını ayarlayın; burada 10 , dakika olarak belirtilen zaman aşımıdır:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Komutu Kök Dışındaki Kullanıcı Olarak Çalıştırma

sudo yalnızca normal bir kullanıcıya kök izinleri sağlamak için kullanıldığı yanlış bir algı var. Aslında, sudo komutunu herhangi bir kullanıcı olarak çalıştırmak için kullanabilirsiniz.

-u seçeneği, bir komutu belirtilen kullanıcı olarak çalıştırmanıza olanak tanır.

Aşağıdaki örnekte, whoami komutunu “richard” kullanıcısı olarak çalıştırmak için sudo kullanıyoruz:

sudo -u richard whoami

whoami komutu, komutu çalıştıran kullanıcının adını yazdırır:

richard

Sudo ile Yönlendirme

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

Bunun nedeni, çıktının " > " yönlendirmesinin sudo tarafından belirtilen kullanıcı değil, oturum açtığınız kullanıcı altında gerçekleştirilmesidir. Yeniden yönlendirme, sudo komutu çağrılmadan önce gerçekleşir.

Bir çözüm sudo sh -c kullanarak kök olarak yeni bir kabuk çağırmaktır:

sudo sh -c 'echo "test" > /root/file.txt'

Başka bir seçenek de çıktıyı normal kullanıcı olarak aşağıda gösterildiği gibi tee komutuna bağlamaktır:

echo "test" | sudo tee /root/file.txt

Sonuç

sudo komutunu nasıl kullanacağınızı ve sudo ayrıcalıklarına sahip yeni kullanıcılar oluşturmayı öğrendiniz.

terminal sudo