Olin yllättynyt siitä, että en löytänyt tätä kysymystä jo sivustolta. Joten tänään tuli $
ylöspäin, kun kirjauduin sisään uutena käyttäjänä. Tämä oli odottamatonta, koska pääkäyttäjän kehote alkaa username@computername:~$
.
Joten miten vaihdan tästä muu kuori bashiin?
Kommentit
Vastaus
Olettaen, että tuntematon kuori tukee absoluuttisen komennon suorittamista, voit yrittää: /bin/bash
Oletuskuoren vaihtamiseen käytän chsh(1)
. Esimerkkikäyttö: chsh -s /bin/bash $USER
Kommentit
- Vaihtaako chsh pysyvästi vai vain nykyisen istunnon kuoren ?
- @mouche pysyvästi; se muuttaa merkintääsi
/etc/passwd
- @mouche,
chsh(1)
sallii vaihtaa vain luettelossa olevaan kuoreen ryhmässä/etc/shells
(ja oletettavasti käytettävissä).chsh -l
luetellaan vaihtoehdot. Ole varovainen, jotkut (kutennologin
) on määritetty tileille, joita ei pitäisi koskaan käyttää kirjautumiseen (mukava tapa lukita itsesi), erityiskäyttöön saattaa olla paikallisia lisäyksiä.
vastaus
Kirjoitat bash
. Jos haluat tämän olevan pysyvä, muuta oletuskuori muotoon /bin/bash
muokkaamalla /etc/passwd
.
Täällä ”s joitain katkelmia minun /etc/passwd
:
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
Viimeinen kenttä sisältää kuoren, kentän muokkaaminen viimeisen jälkeen :
kelvolliseksi tai virheelliseksi kuoreksi toimii. /bin/false
ja /sbin/nologin
tarkoittavat käyttäjää ei ole todellista kirjautumissuorta, vaikka jos pamia ei ole määritetty oikein, se ei tarkoita, että he eivät voi kirjautua sisään (ilmoitin virheestä Arch Arch Linuxissa, koska voit kirjautua sisään graafisesti ilman sisäänkirjautumiskuorta). /bin/bash
ja /bin/zsh
ovat molemmat kelvollisia komentotulkkeja, katso /etc/shells
luettelo kelvollisista kuoreista järjestelmät. Tässä on minun /etc/shells
, jos olet kiinnostunut.
/bin/sh /bin/bash /bin/ksh /bin/zsh /bin/dash
Kyllä, voit käyttää chsh
tai usermod
tehdä samoja asioita, muista, että nämä ovat vain jäsenneltyjä tekstitiedostoja ja TIMTOWTDI.
Kommentit
- Haluat todennäköisesti käyttää
chsh
manuaalisen muokkaamisen sijaanpasswd
- @Michael on noin 5 (POOMA) tapaa vaihtaa kuorta
/etc/passwd
En halunnut ' tuntea olevani halunnut luetella mitään niistä , koska teen sen aina manuaalisesti. chsh ja usermod voivat molemmat tehdä sen. - Määrittelytiedostojen kanssa sekoittaminen on huono idea (virhe), virhe saattaa tehdä järjestelmästä käyttökelvottoman. Kyllä, se on usein ainoa / nopein tapa, mutta tee se sitten äärimmäisen varovasti .
Vastaa
Jos chsh tai määrityksen manuaalinen muokkaaminen ei toimi, mutta ~ / .profile-komentosarja suoritetaan sisäänkirjautumisen yhteydessä, lisää tämä rivi:
exec /bin/bash --login
Kommentit
- Tarkastellessani jonkin aikaa, tämä oli ratkaisu, jota tarvitsin. Kiitos!
- Hieno idea, varsinkin jos kuori valitsi lähteet, jotka tiedosto käynnistyksen yhteydessä …
-
touch ~/.bash_profile
tai muuten bash suorittaa itsensä silmukassa: bash vie~/.profile
, jos~/.bash_profile
doesn ' ei ole olemassa.
$
tuli esiin pikemminkin kuinusername@computername:~$
ei tarkoita ' t tarkoittavan, että sitä ei ollut ' t bash. Kehotteen tarkan muotoilun määrittää PS1-muuttuja, joka voidaan määrittää tai mukauttaa eri tavoin eri käyttäjille.echo $SHELL
saadaksesi selville, mikä nykyinen kuori on./bin/sh
ei usein tarkoita ' t tarkoittavan paljon sitä, että ' s yleensä symboli johonkin muuhun. ' d kirjoitanls -l /bin/sh
nähdäksesi, mihin se ' on symboli. Joissakin tapauksissa symboli linkkinä johonkin muuttaa sen käyttäytymistä, en usko, että bash on niin.bash
kuten/bin/sh
poistaa käytöstä monet bash-ominaisuudet (se siirtyy POSIX-yhteensopivuustilaan).