Linux'taki çoğu şey gibi, sudo komutu da oldukça yapılandırılabilir. Sudo'nun şifre istemeden belirli komutları çalıştırmasını sağlayabilir, belirli kullanıcıları yalnızca onaylanmış komutlarla sınırlayabilir, sudo ile çalıştırılan günlük komutları ve daha fazlasını yapabilirsiniz.
Sudo komutunun davranışı, sisteminizdeki / etc / sudoers dosyası tarafından kontrol edilir. Bu komut, yanlışlıkla dosyayı kesmemek için sözdizimi denetimi gerçekleştiren visudo komutuyla düzenlenmelidir.
Sudo İzinlerine Sahip Kullanıcıları Belirtin
Ubuntu'yu kurarken oluşturduğunuz kullanıcı hesabı, Yönetici hesabı olarak işaretlenir, bu da sudo kullanabileceği anlamına gelir. Kurulumdan sonra oluşturduğunuz ek kullanıcı hesapları Yönetici veya Standart kullanıcı hesapları olabilir - Standart kullanıcı hesaplarının sudo izinleri yoktur.
Kullanıcı hesabı türlerini, Ubuntu’nun Kullanıcı Hesapları aracından grafik olarak kontrol edebilirsiniz. Açmak için, panelde kullanıcı adınıza tıklayın ve Kullanıcı Hesapları'nı seçin veya gösterge panelinde Kullanıcı Hesaplarını arayın.
Sudo'nun Şifrenizi Unutmasını Sağlayın
Varsayılan olarak sudo, şifrenizi yazdıktan sonra 15 dakika boyunca hatırlar. Bu nedenle, sudo ile hızlı bir şekilde birden fazla komut çalıştırırken şifrenizi yalnızca bir kez yazmanız gerekir. Başka birinin bilgisayarınızı kullanmasına izin vermek üzereyseniz ve sudo'nun daha sonra çalıştığında şifreyi sormasını istiyorsanız, aşağıdaki komutu çalıştırın; sudo şifrenizi unutacaktır:
sudo –k
Her Zaman Parola Sor
Sudo'yu her kullandığınızda size sorulmasını tercih ederseniz - örneğin, başkaları düzenli olarak bilgisayarınıza erişiyorsa - şifre hatırlama davranışını tamamen devre dışı bırakabilirsiniz.
Bu ayar, diğer sudo ayarları gibi, / etc / sudoers dosyasında bulunur. Dosyayı düzenlemek üzere açmak için bir terminalde visudo komutunu çalıştırın:
sudo visudo
Adına rağmen, bu komut Ubuntu'daki geleneksel vi editörü yerine varsayılan olarak yeni kullanıcı dostu nano düzenleyiciyi kullanır.
Aşağıdaki satırı dosyadaki diğer Defaults satırlarının altına ekleyin:
Varsayılanlar timestamp_timeout = 0
Dosyayı kaydetmek için Ctrl + O tuşlarına basın ve ardından Nano’yu kapatmak için Ctrl + X tuşlarına basın. Sudo şimdi sizden her zaman bir şifre isteyecektir.
Parola Zaman Aşımını Değiştirin
Farklı bir parola zaman aşımı (30 dakika gibi daha uzun veya 5 dakika gibi daha kısa) ayarlamak için yukarıdaki adımları izleyin ancak zaman damgası_zaman aşımı için farklı bir değer kullanın. Sayı, sudo'nun şifrenizi hatırlayacağı dakika sayısına karşılık gelir. Sudo'nun şifrenizi 5 dakika süreyle hatırlaması için aşağıdaki satırı ekleyin:
Varsayılanlar timestamp_timeout = 5
Asla Parola Sorma
Ayrıca sudo'nun hiçbir zaman şifre istemesini sağlayabilirsiniz - oturum açtığınız sürece, sudo ile ön eklediğiniz her komut kök izinleriyle çalışacaktır. Bunu yapmak için, sudoers dosyanıza aşağıdaki satırı ekleyin, burada kullanıcı adı kullanıcı adınızdır:
kullanıcı adı ALL = (ALL) NOPASSWD: ALL
Ayrıca% sudo satırını da değiştirebilirsiniz - yani, sudo grubundaki tüm kullanıcıların (Yönetici kullanıcılar olarak da bilinir) sudo kullanmasına izin veren satırı - tüm Yönetici kullanıcılarının parola gerektirmemesi için:
% sudo ALL = (ALL: ALL) NOPASSWD: TÜM
Şifre Olmadan Belirli Komutları Çalıştırın
Sudo ile çalıştırıldığında hiçbir zaman parola gerektirmeyen belirli komutlar da belirtebilirsiniz. Yukarıdaki NOPASSWD'den sonra "TÜMÜ" kullanmak yerine, komutların konumunu belirtin. Örneğin, aşağıdaki satır, kullanıcı hesabınızın apt-get ve shutdown komutlarını parola olmadan çalıştırmasına izin verecektir.
kullanıcı adı ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Bu, özellikle bir komut dosyasında sudo ile belirli komutları çalıştırırken yararlı olabilir.
Bir Kullanıcının Yalnızca Belirli Komutları Çalıştırmasına İzin Verin
Belirli komutları kara listeye alabilir ve kullanıcıların bunları sudo ile çalıştırmasını engelleyebilirsiniz, ancak bu çok etkili değildir. Örneğin, bir kullanıcı hesabının sudo ile kapatma komutunu çalıştıramayacağını belirtebilirsiniz. Ancak bu kullanıcı hesabı cp komutunu sudo ile çalıştırabilir, kapatma komutunun bir kopyasını oluşturabilir ve kopyayı kullanarak sistemi kapatabilir.
Daha etkili bir yol, belirli komutları beyaz listeye almaktır. Örneğin, bir Standart kullanıcı hesabına apt-get ve shutdown komutlarını kullanma izni verebilirsiniz, ancak daha fazlasını veremezsiniz. Bunu yapmak için, standarduser kullanıcının kullanıcı adı olduğu aşağıdaki satırı ekleyin:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Aşağıdaki komut bize kullanıcının sudo ile hangi komutları çalıştırabileceğini söyleyecektir:
sudo -U standarduser –l
Sudo Erişimini Günlüğe Kaydetme
Aşağıdaki satırı ekleyerek tüm sudo erişimini günlüğe kaydedebilirsiniz. / var / log / sudo sadece bir örnektir; İstediğiniz herhangi bir günlük dosyası konumunu kullanabilirsiniz.
Varsayılanlar logfile = / var / log / sudo
Günlük dosyasının içeriğini aşağıdaki gibi bir komutla görüntüleyin:
sudo cat / var / log / sudo
Bir kullanıcının sınırsız sudo erişimi varsa, bu kullanıcının bu dosyanın içeriğini silme veya değiştirme olanağına sahip olduğunu unutmayın. Bir kullanıcı ayrıca sudo ile bir kök istemine erişebilir ve günlüğe kaydedilmeyecek komutları çalıştırabilir. Günlüğe kaydetme özelliği, en çok, sistem komutlarının bir alt kümesine erişimi kısıtlı olan kullanıcı hesaplarıyla birleştirildiğinde kullanışlıdır.