Su ve Sudo Arasındaki Fark ve Linux'ta Sudo Nasıl Yapılandırılır


Linux Sistemi benzerlerinden çok daha güvenlidir. Linux'ta güvenliği uygulamanın yollarından biri kullanıcı yönetimi politikası ve kullanıcı iznidir ve normal kullanıcıların herhangi bir sistem işlemi gerçekleştirme yetkisi yoktur.

Normal bir kullanıcının sistem çapında herhangi bir değişiklik yapması gerekiyorsa 'su' veya 'sudo' komutunu kullanması gerekir.

NOT – Bu makale daha çok Ubuntu tabanlı dağıtımlara uygundur, ancak aynı zamanda popüler Linux'ların çoğuna da uygulanabilir. dağıtımlar.

'su' ve 'sudo'

'su' sizi kök şifrenizi diğer kullanıcılarla paylaşmaya zorlarken, 'sudo' çalıştırılmasını mümkün kılar root şifresi olmadan sistem komutları. 'sudo', sistem komutlarını yürütmek için kendi şifrenizi kullanmanızı sağlar; diğer bir deyişle, root şifresi olmadan sistem sorumluluğunu devreder.

'Sudo' nedir?

'Sudo', yetkili kullanıcılar adına kök komutları yürüten ve kullanıcıların yürütmek için kendi şifrelerini girmeleri gereken bir kök ikili setuid'dir. sistem komutunun ardından 'sudo' gelir.

'Sudo'yu kim çalıştırabilir?

'Sudo' komutunu çalıştırabilecek kullanıcıların listesini eklemek/kaldırmak için '/usr/sbin/visudo' komutunu çalıştırabiliriz.

sudo /usr/sbin/visudo

'/usr/sbin/visudo' dosyasının ekran görüntüsü şuna benzer:

Sudo listesi varsayılan olarak aşağıdaki dizeye benzer:

root ALL=(ALL) ALL

Not: /usr/sbin/visudo'yu düzenlemek için root olmanız gerekir. dosya.

Sudo Erişimi Veriliyor

Çoğu durumda, bu alanda özellikle yeni olan Sistem Yöneticisi, şablon olarak "root ALL=(ALL) ALL" dizesini bulur ve diğerlerine kısıtlamasız erişim izni verir. potansiyel olarak çok zararlı.

'/usr/sbin/visudo' dosyasını aşağıdaki kalıba benzer bir şekilde düzenlemek, listelenen tüm kullanıcılara tamamen inanmadığınız sürece gerçekten çok tehlikeli olabilir.

root ALL=(ALL) ALL
adam ALL=(ALL) ALL
tom ALL=(ALL) ALL
mark ALL=(ALL) ALL

sudo'nun parametreleri

Düzgün yapılandırılmış bir 'sudo' çok esnektir ve çalıştırılması gereken komutların sayısı tam olarak yapılandırılabilir.

Yapılandırılmış 'sudo' satırının sözdizimi şöyledir:

User_name Machine_name=(Effective_user) command

Yukarıdaki Sözdizimi dört bölüme ayrılabilir:

  1. Kullanıcı_adı: Bu, 'sudo' kullanıcısının adıdır.
  2. Makine_adı: 'Sudo' komutunun geçerli olduğu ana bilgisayar adıdır. Çok sayıda ana makineniz olduğunda kullanışlıdır.
  3. (Etkili_kullanıcı): Komutları yürütmesine izin verilen 'Etkili kullanıcı'. Bu sütun, kullanıcıların Sistem Komutlarını yürütmesine izin vermenizi sağlar.
  4. Komut: kullanıcının çalıştırabileceği komut veya komutlar dizisi.

Önerilen Okuma: Linux'ta 'sudo'yu Ayarlamak için 10 Yararlı Sudoers Yapılandırması

Bazı Durumlar ve bunlara karşılık gelen 'sudo' satırı:

S1. Veritabanı Yöneticisi olan bir kullanıcı işaretiniz var. Ona herhangi bir ana makinede değil, yalnızca Veritabanı Sunucusunda (beta.database_server.com) tüm erişimi sağlamanız gerekir.

Yukarıdaki durum için 'sudo' satırı şu şekilde yazılabilir:

mark beta.database_server.com=(ALL) ALL

S2. Başka bir kullanıcı olarak sistem komutunu yürütmesi gereken bir 'tom' kullanıcınız var. yukarıda açıklanan aynı Veritabanı Sunucusunda kök.

Yukarıdaki durum için 'sudo' satırı şu şekilde yazılabilir:

mark beta.database_server.com=(tom) ALL

S3. 'cat' komutunu çalıştırması gereken bir sudo kullanıcınız var '' yalnızca köpek'.

Yukarıdaki durumu uygulamak için 'sudo'yu şu şekilde yazabiliriz:

mark beta.database_server.com=(cat) dog

S4. Kullanıcıya birkaç komut verilmesi gerekiyorsa ne olur?

Kullanıcının çalıştırması gereken komut sayısı 10'un altındaysa, aşağıda gösterildiği gibi tüm komutları aralarında boşluk olacak şekilde yan yana yerleştirebiliriz:

mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...

Bu komut listesi aralığa göre değişiyorsa ve her komutu manuel olarak yazmanın tam anlamıyla mümkün olmadığı durumlarda takma adlar kullanmamız gerekir. Takma adlar! Evet, uzun bir komutun veya bir komut listesinin küçük ve kolay bir anahtar kelime olarak adlandırılabildiği Linux yardımcı programı.

'Sudo' yapılandırma dosyasında giriş yerine kullanılabilecek birkaç alias örneği.

User_Alias ADMINS=tom,jerry,adam
user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE
Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top

Kullanıcıların yerine, o gruba ait bir Sistem Grupları'nı yalnızca '% son ekini ekleyerek aşağıdaki gibi belirtmek mümkündür:

%apacheadmin WEBSERVERS=(www) APACHE

S5. Şifre girmeden bir 'sudo' komutunu çalıştırmaya ne dersiniz?

'NOPASSWD' bayrağını kullanarak şifre girmeden 'sudo' komutunu çalıştırabiliriz.

adam ALL=(ALL) NOPASSWD: PROCS

Burada 'adam' kullanıcısı “PROCS” altında takma ad verilen tüm komutları şifre girmeden çalıştırabilir.

Önerilen Okuma: Yanlış Şifre Girdiğinizde Sudo'nun Size Hakaret Etmesine İzin Verin

"Sudo", "su" ile karşılaştırıldığında size çok fazla esnekliğin yanı sıra sağlam ve güvenli bir ortam sağlar. Üstelik “sudo” yapılandırması kolaydır. Bazı Linux dağıtımlarında "sudo" varsayılan olarak etkindir, ancak günümüz dağıtımlarının çoğu bunu bir Güvenlik Önlemi olarak etkinleştirmenize ihtiyaç duyar.

Sudo'ya bir kullanıcı (bob) eklemek için aşağıdaki komutu root olarak çalıştırmanız yeterlidir.

adduser bob sudo

Şimdilik bu kadar. Yine ilginç bir yazıyla karşınızda olacağım. O zamana kadar bizi izlemeye devam edin ve Tecmint'e bağlı kalın. Değerli görüşlerinizi yorum bölümümüzde bize iletmeyi unutmayın.