Debian wheezy'de sudoers dosyasını düzgün bir şekilde nasıl yapılandırırım?


10

Bunu yapmak için yeterli olduğunu söyleyen birçok blog yazısı gördüm

aptitude install sudo
su root
adduser USERNAME sudo

Ama bu sadece korur aptitude, başka bir deyişle:

  • aptitude install sendmailşifre soracaktır, olman gereken sudorunaptitude

  • apt-get install sendmailşifre istemez, sudoayrıcalık gerekmez

  • İçindeki dosyalar gibi korumalı dosyaları düzenlerseniz etcşifre istemez, sudoayrıcalık gerekmez

  • apacheParola istemeyecek, sudoayrıcalık gerekmez gibi hizmetleri çalıştırabilir ve durdurabilirsiniz.

Bunu nasıl düzeltirim? Bu benim sudoers dosyam:

 This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

Bu çıktı sudo -l:

Matching Defaults entries for root on this host:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User root may run the following commands on this host:
    (ALL : ALL) ALL
    (ALL : ALL) ALL

3
Daha sonra kullanıcı su rootolarak oturum açtınız root, böylece her şeye tam erişiminiz olacak. sudoAyrıcalıklı işlemler için kullanmak zorunda olan düzenli kullanıma geri dönmek için , kabuğun olarak çıkış yapması root.
depquid

Linux'ta yeniyim
AntiCZ

Yanıtlar:


16

Herhangi bir sudo kuralı eklemediniz, bu nedenle sudo'yu hiçbir şey için kullanamazsınız.

Komut adduser USERNAME sudobelirtilen kullanıcıyı çağrılan gruba ekler sudo. Bu ada sahip bir grup bulunmalıdır; addgroup sudoeğer değilse yaratın . Kullanıcı gruba eklendikten sonra, grup üyeliğinin geçerli olması için kullanıcının oturumu kapatıp yeniden açması gerekir.

sudoözel bir grup adı değil. Gruptaki kullanıcıların sudokomutları sudoyardımcı olarak root olarak çalıştırmasına izin veren bir kuraldır. Bu, sudoersdosyada aşağıdaki satırı gerektirir :

%sudo ALL = (ALL) ALL

visudoSudoers dosyasını düzenlemek için çalıştırın , asla doğrudan düzenlemeyin.

“Bu sadece yetkinliği koruyor” diye inandığın hakkında hiçbir fikrim yok. Yetenek konusunda özel bir şey yok. Bir kullanıcıya komutları root olarak çalıştırma yetkisi verdikten sonra, söz konusu kullanıcı, düzenlemek için kök izni gerektiren dosyaları çalıştırabilir sudo aptitude …veya sudo apt-get …ya sudo service …da sudoeditdüzenleyebilir. Sudoers dosyasında olmak, kullanıcının ayrıcalıklarını doğrudan değiştirmez, yaptığı şey, sudokomutları root olarak çalıştırmanıza izin vermesidir . Komutlar yalnızca üzerinden geçtiğinizde kök olarak çalışır sudo. Bazı programlar bunu otomatik olarak yapabilir, özellikle de kullanıcı arabiriminin özel ayrıcalıklar olmadan çalıştığı ve yalnızca arka ucun kök olarak çalıştığı ancak kök olarak yürütülen komutların her zaman yürütüldüğü GUI programları olabilir sudo.


sudo -lKök olarak koştu . Kullanıcılar için yararlı tanımlar olsa bile, bunlar gösterilmezdi. Bu nedenle "Herhangi bir sudo kuralı eklemediniz" tahmininiz yanlış olabilir.
Hauke ​​Laging

@HaukeLaging Yorumunuzu anlamıyorum. “Herhangi bir sudo kuralı eklemediniz” tahmin değil: sudoersdosya söz konusu.
Gilles 'SO- kötü olmayı bırak'

Çıktıya çok odaklandığımı fark ettim sudo -lama neyse ki ... Çıktı ile tutarlı olmadığı için soru içeriğinin tüm dosya olamayacağı anlaşılıyor. En azından benim sudosürüm yok değil bir ile "Kullanıcı kök aşağıdaki komutları çalıştırabilir" iddia sudoers(Söz konusu gibi) herhangi bir komut tanımı olmadan.
Hauke ​​Laging

@HaukeLaging Haklısın, hışıltı ile kontrol ettim ve gerçekten de sudo -l“Kullanıcı kökünün darkstar üzerinde sudo çalıştırmasına izin verilmiyor” diyor. Ve sudogrup wheezy'de varsayılan olarak sudoers dosyasındadır. Gerekli girişler, altındaki bir dosyaya taşınmış olabilir /etc/sudoers.d. Her durumda, sudoers dosyası ne olursa olsun, Fischer'ın varsaydığı şeyi yapmaz.
Gilles 'SO- kötü olmayı kes'

4

Ne olmuş olabilir : sudo şifrenizi önbelleğe alıyor. Bu nedenle, sudo'nun sisteminize uygulanmasını doğru bir şekilde tamamladıktan sonra, ilk komut için şifreyi girmeniz gerekir ve bundan sonra bir süre önbelleğe alınır. Bu olursa ve diziyi çalıştırırsanız

sudo aptitude install sendmail
sudo apt-get install sendmail

Sonra ilk komutta bir parola sağlamanız gerekir, ancak ikincisinde değil (en azından hala zaman aşımı süresindeyken). Bu olabilir hissetmek öğenin ikinci yalnızca ilk komutu koruyan ama kaçamayacak gibi. Daha fazla bilgi olmadan (tam kabuk transkriptleri), söylemenin bir yolu yoktur ...


Evet. Biri diğerini dışlamaz. Doğru cevap sudo'nun doğru şekilde nasıl kurulacağını güzelce açıklar ve bu anlamda soruyu cevaplar. Neden "sadece yetenekleri koruyor" sorusuyla açıklamıyor. Gilles kendini şöyle yazıyor: "Neden sadece bu yeteneği koruduğuna" inandığın hakkında hiçbir fikrim yok. Dediğim gibi, bu fenomeni gerçekten anlamak için daha fazla bilgi gereklidir. Cevabımın gerçekten doğru olduğu, orijinal soruyu ele aldığı ve mevcut cevaptaki bir boşluğu doldurduğu düşünüldüğünde biraz sert bir durum olduğunu düşünüyorum.
Josef

İyi fikir, bu Fischer'ın kafa karışıklığının kaynağı olabilir.
Gilles 'SO- kötü olmayı kes'

0

Yukarıdaki cevabı takip ederseniz, doğru yoldasınız demektir. En azından benim Debian Jessie, yol / sbin komutun / usr / bin için yumuşak bir bağlantı yaptı. Örneğin: / sbin / ifup, / usr / bin dosyasına yumuşak bir bağlantı (ln -s) koyarım ve kullanabilirim.

Bir başka önemli şey NOPASSWD'yi şu şekilde koymaktır:

User_Alias NET = goviedo
Cmnd_Alias ETH = /sbin/ifup
NET ALL = NOPASSWD:ETH
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.