it-swarm-tr.com

Bilinmeyen bir Shell'den bash'a nasıl geçebilirim?

Bu soruyu zaten sitede bulamadığım için şaşırdım. Bugün $ yeni bir kullanıcı olarak giriş yaptıktan sonra geldi. Ana kullanıcımın İstemi [email protected]:~$.

Peki, bu diğer Shell'den bash'a nasıl geçebilirim?

41
mouche

Bilinmeyen Shell'in mutlak bir komut çalıştırmayı desteklediğini varsayarsak, şunu deneyebilirsiniz: /bin/bash

Varsayılan Kabuğu değiştirmek için chsh(1) kullanacağım. Örnek kullanım: chsh -s /bin/bash $USER

62
Kevin M

bash yazıyorsunuz. Bunun kalıcı olmasını istiyorsanız, varsayılan Kabuğu /bin/bash Düzenleyerek /etc/passwd Olarak değiştirin.

İşte /etc/passwd Kodumdan bazı snippet'ler:

avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin

En son alan Shell'i içerir, son : Sonrasında geçerli veya geçersiz bir Shell olarak alan değiştirilir. /bin/false Ve /sbin/nologin, Kullanıcının gerçek bir oturum açma Kabuğuna sahip olmadığı anlamına gelir, ancak pam doğru ayarlanmadıysa, giriş yapamayacakları anlamına gelmez (bir hata bildirdim Arch Linux'ta bunu yapabilirsiniz, çünkü bir giriş Kabuğu olmadan grafik olarak giriş yapabilirsiniz). /bin/bash Ve /bin/zsh Geçerli mermilerdir, sistemlerinizdeki geçerli mermilerin listesi için bkz. /etc/shells. İlgileniyorsanız işte /etc/shells.

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

Evet, aynı şeyleri yapmak için chsh veya usermod kullanabilirsiniz, lütfen bunların yalnızca yapılandırılmış metin dosyaları ve TIMTOWTDI olduğunu unutmayın.

20
xenoterracide

chsh veya yapılandırmayı elle düzenlemek işe yaramazsa, ancak girişte bir ~/.profile komut dosyası yürütülürse, şu satırı ekleyin:

exec /bin/bash --login
12
Kevin Cantu