Username is not in the sudoers file. This incident will be reported. Hatası Çözümü

Linux’ta bazı komutlar yalnızca root kullanıcısı tarafından çalıştırılabilir. Varsayılan olarak, bu süper kullanıcı, sistemdeki tüm komutlara ve kaynaklara erişime sahiptir. Ancak, hassas görevleri herhangi bir kısıtlama olmadan gerçekleştirmek tehlikelidir. Örneğin, kasıtlı veya kazara yapılan bir hata, tüm sistemi bozabilir. Bu nedenle, Linux sudo kullanımını teşvik eder. Bu komut, normal bir kullanıcıya, idari görevleri yürütmek için gerekli olan süper kullanıcı ayrıcalıklarını sağlar. sudo ile çalışırken, şu hatayla karşılaşabilirsiniz:

‘cpynet is not in the sudoers file. This incident will be reported.’

Bu belgede, bu hatayı düzeltmek için kullanılan farklı yaklaşımları tartışacağız.

2. Hatanın Nedenleri

Bazen bu hatayı düzeltmemize gerek yoktur, örneğin sistem yöneticisi erişimimizi kasıtlı olarak bir güvenlik önlemi olarak kısıtlamışsa. Bu kısıtlama, şu anda karşılaştığımız soruna neden olur. Bu durumda, yöneticinin bizim için tanımladığı izinlerle çalışmak zorundayız.

Diğer taraftan, eğer sistem üzerinde gerçek bir kontrolümüz varsa, bu durumu düzeltebiliriz.

Hatanın Üretilmesi

Bu hatayı görmek için aşağıdaki komutu çalıştırabilirsiniz:

$ sudo ls
[sudo] password for cpynet: 
cpynet is not in the sudoers file.  This incident will be reported.

Yukarıdaki mesaj ‘cpynet is not in the sudoers file’ sadece cpynet kullanıcısının sudoers dosyasında bulunmadığını belirtir. Bu dosya, sudo ile ilgili görevler için hem kullanıcı hem de kullanıcı grubu ayrıcalıklarını tanımlar. Ayrıca, ‘This incident will be reported’ ifadesi, Linux’un bu başarısız sudo işleminin bir raporunu oluşturduğunu, bu olay sırasında neler olduğunu kaydettiğini belirtir.

3. Kullanıcı Adını Sudoers Dosyasına Ekleme

Buradaki ana hedefimiz, kullanıcıyı doğrudan sudoers dosyasına eklemektir. Bunun için, cpynet kullanıcısı idari görevleri yerine getiremeyeceğinden root kullanıcısına geçmemiz gerekecek:

$ su root
Password: 

Geçiş yaptıktan sonra, nano adlı bir metin düzenleyicisini kullanarak sudoers dosyasını düzenleyeceğiz. Nano, komut satırından dosyaları düzenlememize olanak tanır:

# nano /etc/sudoers

Artık sudoers dosyası düzenlemeye hazır.

Kullanıcı ayrıcalıkları tanımlamasının altında bir satır ekleyelim. Bu satır, sistem kullanıcısına belirtilen süper kullanıcı ayrıcalıklarını vermek içindir:

# User privilege specification
root	ALL=(ALL:ALL) ALL
cpynet  ALL=(ALL:ALL) ALL

Artık cpynet kullanıcı erişim gerektiren görevleri yerine getirebilir. Değişikliği yaptıktan kısa bir süre sonra, bu değişiklikleri kaydetmemiz ve metin düzenleyicisinden çıkmamız gerekir. Bunu yapmak için, CTRL+X tuşlarına basarak çıkabilir, Y tuşuna basarak kaydedebilir ve Enter tuşuna basarak onaylayabilirsiniz. Son olarak, root oturumundan çıkabiliriz.

4. Kullanıcı Adını Sudo Grubuna Ekleme

Yukarıdaki çözüme benzer şekilde, önce root kullanıcısına geçmek önemlidir:

$ su root
Password: 

su komutu, başka bir kullanıcının, bu durumda root’un izinleriyle görevleri yerine getirmemize olanak tanır.

Sonraki adımda, sudoers dosyasının içeriğini göstereceğiz. Kullanıcıların ve kullanıcı gruplarının ayrıcalıklarını belirten satırlara odaklanacağız:

# cat /etc/sudoers
...

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL
...

Yukarıda gösterildiği gibi, root kullanıcısı ve admin ve sudo grubu üyeleri süper kullanıcı ayrıcalıklarına sahiptir. Debian tabanlı bir dağıtımda olduğumuz için sudo grubu mevcuttur. Red Hat tabanlı bir Linux dağıtımında ise, wheel kullanıcı grubuyla karşılaşırız. Bu, Red Hat tabanlı dağıtımlar için sudo kullanıcı grubunun karşılığıdır.

Artık Debian’da çalıştığımıza göre, kullanıcıyı sudo grubuna ekleyelim:

# usermod -aG sudo cpynet

Burada, usermod komutu kullanıcının niteliklerini değiştirmemizi sağlar. Özellikle, -G seçeneğini kullanarak cpynet kullanıcısının grup bilgilerini güncelleyebileceğimizi belirtiyoruz. Ayrıca, -a seçeneği, bu kullanıcının ilişkili diğer gruplarının sürecin bir parçası olarak silinmediğinden emin olur. Sonuç olarak, cpynet artık sudo ile idari görevleri yerine getirebilir. Red Hat dağıtımlarında, sudo yerine wheel yazarak benzer sonuçlar elde edebiliriz.

İşlemi tamamladıktan sonra, root kullanıcı oturumundan çıkabiliriz:

# exit
exit

Artık önceki kullanıcı oturumumuza geri döndük.

5. Sonuç

Bu belgede, Linux hatası ‘cpynet is not in the sudoers file. This incident will be reported.’ ifadesinin anlamını kısaca açıkladık. Ardından bu durumu çözmek için iki uygulanabilir çözümü gösterdik.

Önceki Konu

Rsync Komutlarıyla Hızlı ve Güvenli Dosya Senkronizasyonu

Sonraki Konu

iPerf Kullanarak Ağ Performansı ve Bant Genişliği Ölçümü

Bültenimize Abone Olun 📬

En son gönderilerimizin doğrudan e-posta kutunuza gelmesi için e-posta bültenimize abone olun.
Düşüncelerinizi özgür bırakın ✨