Neden sudoers NOPASSWD seçeneği çalışmıyor?

57

/ etc / sudoers içinde bir NOPASSWD satırım var ( visudo ile düzenlenmiş)

gatoatigrado    ALL=(ALL) NOPASSWD: /bin/set-slow-cpufreq

Ancak, çıktı,

[email protected]:~> sudo -n /bin/set-slow-cpufreq
sudo: sorry, a password is required to run sudo

Bu tür bir komut bir OpenSuSE makinesinde çalışır, ancak Ubuntu 11.10'da değil. Neyi yanlış yapıyorum?

Not : İlgili bir sistem günlük mesajlarını bulamıyorum, ör. tail -f /var/log/syslog aracılığıyla.

düzenle

İşte / etc / sudoers.

Defaults    env_reset

# things I've tried copying from an opensuse machine
Defaults always_set_home
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"

root    ALL=(ALL:ALL) ALL
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL
    
sordu gatoatigrado 31.01.2012 02:05

4 cevap

91

Bu kodu sudo man sayfası olarak belirlediğinden sonra satırı sudoers grubunun kuralına koymalısınız:

   When multiple entries match for a user, they are applied in order.
   Where there are multiple matches, the last match is used (which is not
   necessarily the most specific match).
    
verilen cevap enzotib 31.01.2012 07:36
4

Sadece bununla karşılaştı.

Durumum, başsız olacak bir uzak sistem kuruyorum. Tam disk şifrelemeyi etkinleştirdim (aksi takdirde fizikal erişimli bir saldırgan istediği herhangi bir şeyi yapabilir) Ben sadece pub anahtarıyla ilişki kurmak istiyorum (şifreyi çözeceğim, böylece "bir şey bil, bir şey bil" şeması şifre olacak korumalı keypair --root login elbette tamamen devre dışı bırakılmıştır.

Ubuntu yükleyici, sudo grubuna eklenen root olmayan bir yönetici kullanıcısı ister. Kendimi sudoers kullanarak kendim sudo visudo dosyasına kendim ekledim:

my_username ALL=(ALL:ALL) NOPASSWD:ALL

NOT: Dizüstü bilgisayarınızda nopasswd kullanıyorsanız, bilgisayarınızı her zaman uzaklaştıkça kilitlemelisiniz ya da rahat bir saldırgan kahveye krema koyarken çok fazla ödün veremez

Hala şifre kimlik doğrulaması yapıyordum.

Enzotib'in cevabı, olup bitenlerin anahtarıdır. Grup sudo, kullanıcı adımı girdikten sonra sudoerlarda görünüyor.

Girişimi sudo satırının altına taşımak yerine, önceden eklediğim satırı kaldırdım ve NOPASSWD değerini %sudo girdisine ekledim

Bu işe yarıyor. Yine sadece gerçekten ihtiyacınız varsa nopasswd kullanın (Benim durumumda, tam olarak ihtiyaç duyduğum şey, sudo aktivitesi için parola gerektiren çoğu kullanıcı için en iyisidir)

Ek UYARI: Her zaman sudoers'ı visudo ile düzenleyin. (sudo visudo) Ayrıca, root kullanıcısına başka bir pencere açma açık olması, sudoers dosyasını değiştirirken yapabileceğiniz hataları düzeltmenizi sağlar.

    
verilen cevap jorfus 04.02.2016 20:05
2

İdeal olarak, hangi komutların sudo aracılığıyla çalıştırılabileceğini özelleştiriyorsanız, bu değişiklikleri doğrudan /etc/sudoers.d/ dosyasını düzenlemek yerine sudoers altındaki ayrı bir dosyada yapmanız gerekir. Dosyaları düzenlemek için her zaman visudo değerini kullanmalısınız.

Örnek: % Co_de%

Satır verme izninizi ekleyin: % Co_de%

Sonra kaydedin ve çıkın ve sudo visudo -f /etc/sudoers.d/slowcpu sözdizimi hatası varsa sizi uyarır.

Kullanıcıya verilen izinleri görmek için gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq çalıştırabilirsiniz; kullanıcıya özgü visudo komutlarından herhangi biri görünürse, çıktıda sudo -l komutundan ÖNCE şifreniz istenir.

Kendinizi bu sudoers.d dosyalarının birçoğunu oluştururken bulursanız, belki de bunları görselleştirmek daha kolay olacak şekilde kullanıcı başına adlandırılmış bir kullanıcı oluşturmak isteyeceksiniz. Dosyadaki DOSYA İSİMLERİNİN ve KURALLARININ siparişinin çok önemli olduğunu, önceki girişlerden daha az veya daha az müsaade ederse, LAST 1 yüklü kazanımların olduğunu unutmayın.

00-99 ya da aa / bb / cc önekini kullanarak dosya adının düzenini kontrol edebilirsiniz, ancak sayısal öneki olmayan HERHANGİ dosyalarınız varsa, bunların numaralandırıldıktan sonra yükleneceğini unutmayın. dosyaları geçersiz kılar. Bunun nedeni, dil ayarlarınıza bağlı olarak "sözcüksel sıralama" nın, ilk önce kabuk numaralarını kullandığı ve daha sonra "artan" sıraya göre sıralanırken üst ve küçük harflerin birbirinden ayrılabileceğidir.

Kullanacağınız en iyi "son" harf önekinin ne olacağını belirlemek için, geçerli dilinizin NOPASSWD vb. veya %groupyouarein ALL=(ALL) ALL sonra printf '%s\n' {{0..99},{A-Z},{a-z}} | sort yazdırıp yazdırmayacağını görmek için printf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort ve AaBbCc çalıştırmayı deneyin.

    
verilen cevap dragon788 22.05.2017 22:55
0

Uzak sistemde, şifrelemeyi bırakın, ancak her şeyin "Yöneticiler" grubunda olduğu gibi root tarafından sahip olunmasına izin verin - bu 0 değil!
% Co_de% 'sini, #sudo -g Administrators dosyasında değil, sudo profilinde tam erişime ihtiyaç duyanlara değiştirebilirsiniz. Herhangi bir standart betik artık uzaktan kumandayı "root" olarak kullanabilir ve korunmaları gereken dosyaları koruyabilirsiniz. Başka bir kullanışlı "grup", tarayıcı önbelleğinde oturum açma dizinine sahip "Sandbox" ve bunu serbestçe okuyabilir ve başka bir şey de okuyabilir. Büyük harf olan ilk karakteri kullan.

    
verilen cevap Knut H 28.08.2018 13:32

Etiketlerdeki diğer soruları oku