Yönetim için bir parola ve sistem girişi için başka bir parola kullanın


10

Bir kullanıcıya giriş yaparken normal kullanım için nasıl bir şifre ve sistem yönetimi ve sudo erişimi için başka bir şifre verebilirim ? Bir kullanıcının iki şifresi olmasını istiyorum.


1
Neden sadece biri normal kullanım diğeri sudo kullanmaya izin veren 2 hesap yapmıyoruz.
Luis Alvarado

hayır sadece bir hesapta ihtiyacım var
Varun Sridharan

Neden tek hesap olmanız gerekiyor? Sudo erişimi olan ayrı bir hesap oluşturabilir, ancak ayrı bir ana klasör olmadan bu kullanıcıyı normal kullanıcıyla aynı gruba ekleyebilir ve aynı ana klasörü kullanacak şekilde ayarlayabilirsinizsudo usermod -d /path/to/new/home
Warren Hill

@SVarun Cevabımı son yorumundan bu yana benim için çalışan adımlarla güncelledim. Kontrol edip senin için işe yarayıp yaramadığını bana bildirir misin?
Aaron D

Yanıtlar:


16

Sudo hizmeti için PAM (Takılabilir Kimlik Doğrulama Modülü) ayarlarını geçersiz kılarak bunu yapmanın bir yolu vardır. Bunu makineniz için büyük risk altında yapın - komutun ne yaptığını anlamadığınız sürece kopyalayıp yapıştırmayın ve her zaman bir kök terminali açık test testi testi yapın! - oturumu kapatmadan önce, geri dönüp bir şeyleri düzeltmeniz gerektiğinde.

PAM'ın nasıl çalıştığı hakkında bazı bilgileri okumanızı tavsiye ederim, böylece kırılırsa ne yapacağınızı bilirsiniz. Ayrıca çoğu kullanıcının bu soruna farklı bir açıdan yaklaşmasını öneriyorum (yönetim için ayrı bir kullanıcı hesabı oluşturma), çünkü çözüm izinlerinizi doğru şekilde ayarlamadıysanız şifrenizde karma tablo saldırılarına açık olabilir.

Devam etmeye kararlıysanız, yeni bir PAM modülü takmanız gerekir. pam_pwdfile, kimlik doğrulama için eski stil / etc / passwd türü dosyayı kullanır; bu, farklı hizmetler için farklı parolalar kullanmak için harikadır. Hesap tanıması sağlamaz - sistemde bulunmayan kullanıcılar için kullanıcı adı / şifre çiftleri oluşturabilirsiniz. Sudo için kullanacağımız için önemli değil, çünkü sudo'nun hesabın her zamanki gibi var olup olmadığını kontrol etmesine izin vereceğiz.

sudo apt-get install libpam-pwdfile

Ayrıca kullanışlı bir htpasswd dosya düzenleyicisi almanızı öneririm. Benjamin Schweizer, python'da iyi çalışan kullanışlı bir editör oluşturdu. Http://benjamin-schweizer.de/htpasswd_editor.html adresinden alın ve bağımlılığını yükleyin:

sudo apt-get install python-newt

- aracını kullanarak bir htpasswd biçim dosyası oluşturun sudo python htpasswd_editor sudo.passwd. Sudo için kullanacağınız aynı kullanıcı adını kullanarak bir kullanıcı adı ve parola girin - onu kullanacak her kullanıcı için bir tane. Güvenli bir yere kopyalayın (bunu test ederken /etc/sudo.passwd içine koydum) ve normal kullanıcılar tarafından okunamaz hale getirin: chmod 660 /etc/sudo.passwdroot olarak.

Dosyanın kök dizinine sahip olduğundan ve diğer kullanıcılar tarafından okunamadığından emin olun. Bu, dosyada karma bir parola bulunduğundan ve diğer kullanıcılar tarafından okunabilir veya yazılabilirse, güvenliğinizi kötü bir şekilde ihlal ettiği için bu bir güvenlik açığıdır. Bu nedenle, güvenli tutulması gereken bir makinede bu yöntemi önermiyorum.

Son olarak /etc/pam.d/sudodosyayı düzenleyin . Aşağıdaki satırı diğer @include ...satırların üstüne ekleyin :

auth    required    pam_pwdfile.so pwdfile /etc/sudo.passwd

Açıkça, son argümanı oluşturulan htpasswd dosyanızın yolu ile değiştirmek. Bir sonraki satıra yorum yapın: #@include common-authyeni kimlik doğrulama yöntemini kullandığından emin olmak için.

Dikkat kelimesi - /etc/pam.d/sudodosyayı bir kök terminalden düzenlemeniz gerekir . Test etmeden bunu kapatmayın! Bunu yaparsanız, tekrar oturum açamayabilirsiniz (bir şeyi bozduysanız) ve sisteminizi onarmak için Kurtarma diskinden önyükleme yapmanız gerekebilir. Yeni bir terminal açarak oturumu kapatmadan önce test edin ve kullanmayı deneyin sudo. Artık normal giriş şifrenizle çalışmayacağını, bunun yerine passwd dosyasını oluştururken kullandığınız yeni şifreyi gerektirdiğini görmelisiniz. Dosyayı güncellemek için kullanışlı aracı tekrar kullanın.


Ben Ubuntu çalıştırmak gerekiyor başka bir yol var
Varun Sridharan

Cevabı güncelledim - bu yöntemi test ettim ve sorunuzu doğru bir şekilde anladıysam, istediğinizi yapıyor. Lütfen dene.
Aaron D

1
+50 ödül. @AaronD cevabını sorum çözdü . Teşekkürler!!!
Robbie Wxyz

Yararlı bulduğunuz için memnunum!
Aaron D

1

Orijinal soru için çok daha basit bir çözüm var ve benim çalışma şeklim:

  • bir yönetici olmayan kullanıcı oluştur
  • yönetici kullanıcı oluştur

Her zaman yönetici olmayan kullanıcı olarak giriş yapın ve yönetici olmayan kullanıcının "yönetici" bir şey yapması gerektiğinde, yalnızca:

fab-user@fab-ux:/media/Data/Temp
$ su - fab-root 
Password: 
fab-root@fab-ux:~
$ sudo smartctl --all /dev/sdc

Evet, istediğin şey değil ama aslında ihtiyacın olan şey

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.