Unutmak
sudo su
Kullanmanın bir faydası yok
sudo su, insanların kullanmaya alıştıkları anakronistik bir alışkanlık
su.
sudoLinux dağıtımı bir root şifresi ayarlamayı bırakıp
sudoroot hesabına erişmenin tek yolunu yaptığında insanlar önden oynamaya başladılar . Alışkanlıklarını değiştirmek yerine, sadece kullandılar
sudo su. (
sudoersKonfigürasyon kutuları kullanarak alışkanlığımı değiştirmeye zorlayan zamana kadar onlardan biriydim).
kullanım
sudo -u
Bir giriş kabuğu için,
sudo -u postgres -itercih edilir
sudo su - postgres. Kullanıcının kök erişimi olması
/etc/sudoersgerekmez, yalnızca kullanıcı olma hakkına ihtiyaçları vardır
postgres. Ayrıca daha iyi erişim kontrolleri uygulamanıza izin verir.
Komut yürütme için
sudo -u postgres psql -c "SELECT 1"
alternatiften daha üstündür:
sudo su - postgres -c "psql -c \"SELECT 1\""
Bunun için tırnaklardan ve diğer kabuk meta karakterlerinden ve ayrıca root gerektirmeyen diğer güvenlik avantajlarından iki kez kaçmak zorunda kalmazsınız. Muhtemelen yanlışlıkla yazmaya başlayacaksınız:
sudo su - postgres -c psql -c "SELECT 1"
bazen düzgün çalışmaz.
Son olarak, ortam değişkenlerini
sudoörneğin;
sudo PATH=/usr/pgsql-9.3/bin:$PATH -u postgres /usr/pgsql-9.3/bin/initdb -D /var/lib/pgsql/testcluster
üzerinden
su. (Burada, doğru yürütülebilir dosyayı bulmak için
PATHayar gereklidir ).
initdb
postgres
Yani.
suKomutun var olduğunu unut . Artık ona ihtiyacın yok. Alışkanlığı ortadan kaldırmak için, hatayı yazdırır bir şeye diğer ad. (Bazı init ve paket kurulum komut dosyaları hala kullanır,
subu yüzden yine de kaldıramazsınız).
Ayrıca bakınız: