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.
sudo usermod -d /path/to/new/home
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.
sudo usermod -d /path/to/new/home
Yanıtlar:
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.passwd
root 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/sudo
dosyayı 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-auth
yeni kimlik doğrulama yöntemini kullandığından emin olmak için.
Dikkat kelimesi - /etc/pam.d/sudo
dosyayı 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.
Orijinal soru için çok daha basit bir çözüm var ve benim çalışma şeklim:
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