Allt från Computex 2023

Säkert att byta shell för root i FreeBSD?

Permalänk
Medlem

Säkert att byta shell för root i FreeBSD?

Jag har förstått att anledningen till att root har /bin/sh som shell är för att det ligger på en annan partition än /usr. Är det dåligt/osmart/osäkert att sätta shell till /usr/local/bin/zsh?

Permalänk
Medlem

Ja.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Ok, vill du utveckla?

Permalänk
Medlem

enda gången man behöver oroa sig att shellet inte finns är i singel user mode och då ger den en prompt vad man vill använda för shell

helt ofarligt att byta shell för root dvs.

Visa signatur

Jag har dyslexi.

Permalänk
Medlem

Helt ofarligt? Nej.

En del startup script kan förutsätta att dom körs i /bin/sh men har ingen "shebang" som pekar på /bin/sh.

Byter man då till ett shell som har en annan syntax så blir det problem.

Jag har som princip att låta bli att ändra root's shell eller hemkatalog jiust pga detta och att dom eventuella diskar/partitioner som dessa pekar på kanske inte finns den gången något krånglar och man behöver köra i "single user mode".

Det är lila enkelt att ge kommandot zsh det första man gör som root för att byta till det.

Visa signatur

Kriga mot min brute: http://gunnard.se.mybrute.com om du vågar :D

Permalänk
Medlem

dom startup script som inte har #!/bin/sh är inte tillåtna då dessa strider mot uppbyggnaden av rc.d

och singel user mode promptar oavsätt efter vad för shell att använda och trycker man bara enter där så får man /bin/sh som shell

Visa signatur

Jag har dyslexi.

Permalänk

Skalet för root i FreeBSD är tcsh. Användare får däremot sh.

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Citat:

Ursprungligen inskrivet av Kent-Mustafa
Skalet för root i FreeBSD är tcsh. Användare får däremot sh.

Själv tycker jag att tcsh är hur meckigt som helst, och sh eller bash är ju hyfsat standard ändå - i min erfarenhet i alla fall är de absolut vanligast på andra *nixar. Varför kör FreeBSD tcsh, är det av nostalgiska eller privata skäl, eller finns det någon teknisk anledning?

W

Permalänk
Medlem

Eftersom du aldrig kommer vara inloggad som root ändå spelar det ingen roll.

Permalänk
Citat:

Ursprungligen inskrivet av m0rris
Eftersom du aldrig kommer vara inloggad som root ändå spelar det ingen roll.

.. eller också antar man inte att man vet allt om andra användares situation utan försöker istället besvara frågan?

/W - som sysadminnar som root hyfsat ofta, av goda skäl

Permalänk
Medlem

zsh är rena frälsningen.

Visa signatur

Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots

Permalänk
Medlem

Jag bytte tillbaka till tcsh för tillfället tills jag har mer kött på benen. Med en modiferad .tcshrc så man åtminstonde ser working dir.. :/ Visst, jag har sudo installerat, men ibland så känns det rätt kasst att skriva sudo före varje rad då man sitter och pillar, därför gillar jag att använda ett Vettigt Skal(tm) även på rootkontot.

Permalänk
Medlem

Känner man sig lite extra paranoid finns ju alltid toor.

Visa signatur

Je suis Napoleon!
Heh-heh-heh. No, seriously, I'm not.

Permalänk
Medlem

/bin/false är väll dock ej att rekomendera, men säkert lär det ju vara

Permalänk
Citat:

Ursprungligen inskrivet av WorldSpawn
Själv tycker jag att tcsh är hur meckigt som helst, och sh eller bash är ju hyfsat standard ändå - i min erfarenhet i alla fall är de absolut vanligast på andra *nixar. Varför kör FreeBSD tcsh, är det av nostalgiska eller privata skäl, eller finns det någon teknisk anledning?

Från början föredrog utvecklarna av BSD csh framför Bourne shell, och någon gång för länge sedan bestämdes det att /bin bara skulle innehålla två skal (av utrymmesskäl, hårddiskar har inte alltid varit 400GB stora), och det blev csh och sh. Nu vet vi ju dock att csh egentligen tcsh, eftersom man ville ha alla "fancy features" såsom tab completion etc (om du gör en ls -i så ser du att csh och tcsh har samma inode). Skälet till att det är tcsh bygger alltså främst på traditioner och historia, men bara för det så kommer inte skalet för root i BSD att ändras till något annat, BSD-utvecklare tenderar än idag att föredra csh/tcsh framför något annat, men det finns alltid undantag (jag t.ex.).

Vad jag dock ser som ett problem är att många linuxanvändare är dåligt informerade om skalens skillnader, t.ex. så är /bin/sh länkat till /bin/bash på vissa linuxsystem, trots att de egentligen är två olika skal. Detta resulterar i att folk som skriver script på ett felaktigt sätt använder sh, trots att koden syntaxmässigt är bash, vilket resulterar i problem om du t.ex. skall använda scriptet på FreeBSD, där sh är sh, och inget annat.

Själv byter jag aldrig skal för root, för ärligt talat så är det är inte speciellt kul att fucka upp skalet för root när du inte har fysisk åtkomst till maskinen.

Kanske gjorde jag någon klokare med det här inlägget iaf. God jul på er!

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Medlem

Lite OT men är föklarande.

På många linux maskiner är /bin/sh en länk till /bin/bash, men det innebär inte att man har tillgång till alla funktioner i bash om man startar det med sh kommandot.

Om man kör /bin/sh så känner programmet av att man vill köra sh och stänger av en del funktioner som inte finns i sh.

I *nix världen är det mycket vanligt att program har flera namn länkade mot sig och att programmet känner av med vilket namn det startats med och anpassar sig därefter.

Ett ex. på ett sådant program brukar vara gzip. gzip, gunzip och zcat är samma program (hårda länkar), om det startar med gzip så startas kompremeringen men om det startas med gunzip så packas filen up och zcat packar up filen till stdio.

Visa signatur

Kriga mot min brute: http://gunnard.se.mybrute.com om du vågar :D