Terminalde root olmayan kullanıcı olarak oturum açın


18

Bu, Google'dan hızlı bir şekilde yanıt almayı bekleyebileceğim bir soru. Ancak google beni bir şekilde başarısız ediyor. Bir terminal oturumunda oturum açtığımı varsayalım ve geçici olarak oturumumu terk etmeden şifresini bildiğim kök olmayan bir kullanıcı olarak çalışmak istiyorum. Bu kullanıcı olarak oturum açtığımda oturumu kapatana kadar bu kullanıcı için giriş dizini vb. İstiyorum. Bunu nasıl yaparım?

denedim

su -- username

ve sonra şifreyi girerek, herhangi bir hata üretmedi ama yine de myname @ myhost söyleyecek komut isteminde görünür bir değişiklik görmedim. Giriş dizini aynı zamanda myname diziniydi ve giriş yapmaya çalıştığım yeni giriş değil.

Ben - şimdi anlaşıldığı gibi - linux / Ubuntu'da oldukça deneyimsiz, bu yüzden herhangi bir bilgi açığız.

Yanıtlar:


18

Hangi kullanıcıya geçmek istiyorsunuz?

Sorun, kendisine atanmış bir kabuk olmayan bir kullanıcıya "su" vermeye çalışmanızdır. Yazılım yüklediğinizde sistem tarafından veya bazı paketler tarafından oluşturulan mysql, pulse, vb. Kullanıcıların çoğuna atanmış bir kabuk yoktur.

Bir kullanıcıya /etc/passwddosyaya bakarak bir kabuk atanıp atanmadığını kontrol edebilirsiniz , sadece her kullanıcının satırının sonuna bakın /bin/false, eğer böyle bir şey atanmış bir kabuğa sahip olmadığı anlamına gelirse, buna benzer bir şey /bin/bashveya başka bir şey varsa o kullanıcı için "su" yapabilmeniz gerekir.

"Kabuk atanmış" dediğimde, temelde "kabuk erişimi" olduğu anlamına gelir

kullanıcı kabuk erişimine sahip değilse, komutları her zaman

 sudo -u user command

kullanıcı kabuk erişimine sahip değilse yine de "sudo -u user command" komutuyla o kullanıcı olarak her zaman komut yürütebilirsiniz
Sam

Ekleme -s /bin/bashsizin için sukomuta veya kullanım chsh -u username -s /bin/bash, bir kullanıcı için kabuk değiştirmek için. Bunun olası güvenlik etkilerine dikkat edin.
gertvdijk

7

sudo erişiminiz varsa o zaman tavsiye ederim

sudo su username -

Temelde aynı şeyi yapar, ancak diğer kullanıcıları değil, sadece şifrenizi bilmenizi gerektirir.

ancak diğer kullanıcıların şifreniz varsa:

su username - iyi çalışmalı.

1 - ve sonunda olduğunu fark ettim.


Her iki şekilde de tanımladığınız her iki yol da tam olarak benimki gibi davranıyor - komut hatasız olarak kabul ediliyor, ancak giriş dizini doğru değil ve istem hala orijinal kullanıcı olduğumu söylüyor. Bundan sonra çıkış yaparsam tamamen çıkış yaparım.
Andrew Savinykh

Tamam, giriş yaptığınız kullanıcı giriş yapmasına izin verildi mi? Kabuklarını "true" olarak ayarlayarak hesabın oturum açmasını engelleyebilirsiniz ve bu tam olarak açıkladığınız gibi olacaktır. Bu, "apache" ve "ftp" gibi "sistem" hesabında çok kullanılırdı. Kontrol etmek için sudo cat /etc/passwdİÇERİĞİ BURADA YAPMAYIN. Sadece göz küresi ve kullanıcının satırının son küçük bir parçası olarak gerçek bir kabuk olduğundan emin olun.
coteyr

1
yan not, bunu yapmak için daha uygun bir yol bir hata atacak bir kabuk "false" olarak ayarlamaktır. Bazı sistemler ve hesaplar hala teknik veya psudo-güvenlik nedenleriyle (wana-be-hacker'ların
sümüğünü
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.