• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Login Pfad bei Konsolenanmeldung umbiegen

joe123

Newbie
Hallo,

welche Datei muss ich verändern um z.B. beim user root oder bei anderen usern beim Login auf der Konsole in einem bestimmten Verzeichnis zu landen?
(openSUSE 11.4)

Gruß
joe
 
A

Anonymous

Gast
joe123 schrieb:
welche Datei muss ich verändern um z.B. beim user root oder bei anderen usern beim Login auf der Konsole in einem bestimmten Verzeichnis zu landen?
gar keine, du landest immer in einem ganz bestimmten Verzeichnis, und zwar dort wo der User oder root hingehört, wo dieser seine eigenen Dateien hat und auch normalerweise auch nur dort haben sollte, in seinem Homeverzeichnis.

Das Homeverzeichnis wird in der /etc/passwd festgelegt, ist aber riskant dieses auf einen anderen Wert als auf das Homeverzeichnis zu ändern, da sonst grafische Anmeldungen und Programme hier massenweise Konfigurationsdateien erwarten und auch schreiben, die nur im Homeverzeichnis des Users etwas zu suchen haben. es gibt wenn das nicht ganz sauber gemacht wird dort eventuell auch schnell Probleme mit Zugriffsrechten.

Entweder den entsprechenden User das Homeverzeichnis komplett auf einen anderes Verzeichnis umbiegen ( aber bitte nicht für root, das geht in die Hose), das geht mit usermod und der Option -d
oder das Wunschhomeverzeichnis mit angeben wenn du einen neuen User anlegst,


oder folgendes versuchen ( funktioniert zwar bei den ersten Tests, ist aber nicht wirklich schön und ob es irgendwelche Nebeneffekte hat, ist auch nicht ausprobiert worden) in der ~/.bashrc des entsprechenden Users unten folgenden Eintrag anfügen
Code:
# Folgenden Aenderung ist selbst verbockt und ich bin auch selbst dafür verantwortlich
cd /mein/lieblings/verzeichnis

aber ich finde es dürfte wohl nicht zu viel von root oder jedem anderen User verlangt sein, wenn er eine Konsole öffnet, dass er dann anschließend den wahnsinnig komplizierten Befehl
Code:
cd /verzeichnis
selbst absetzt, um dorthin zu wechseln wo er denn arbeiten will.


robi
 
OP
J

joe123

Newbie
Hintergrund für meine Idee das Login-Verzeichnis ist folgender:
es werden Skripte über UC4 angestoßen, einige auch als user root und dieser landet dann im Verzeichnis /root oder / (muss ich noch herausfinden warum das bei einigen Servern mal /root und dann wieder nur / ist)
hier wäre es doch sinnvoll wenn er z.B. im Verzeichnis /tmp landen würde, könnte evtl. Problem verhindern :roll:
 
A

Anonymous

Gast
UC4 Scripte arbeiten aber nicht über login, wenn ich mich nicht täusche, ansonsten müssten sie irgendwo im Scipt das Passwort oder einen Verweis darauf haben, das wäre aber fatal weil sehr leicht angreifbar.

Für solche automatisch ablaufenden Scripte wird im Normalfall eine genaue Arbeitsumgebung gesetzt, normalerweise in einer der Konfigurationsdateien oder gleich mit einem eigenen User der kein eigenes login hat. Müsstest du dich mal bei UC4 umschauen. Mit der normalen Arbeitsumgebung sollten diese Scripte nichts zu tun haben.

robi
 

spoensche

Moderator
Teammitglied
/root ist das Homeverzeichnis von root. Wenn root im Verzeichnis / landet, dann kann es eine chroot Jail oder aber auch ein virtueller Server sein.

Was für Probleme sollte das verhindern?
 

framp

Moderator
Teammitglied
spoensche schrieb:
...Was für Probleme sollte das verhindern?...
Jupp, sag uns doch einfach welches Problem Du zu lösen suchst. I.d.R. gibt es mehrere (auch einfachere) Wege nach Rom :roll:
 

abgdf

Guru
robi schrieb:
oder folgendes versuchen ( funktioniert zwar bei den ersten Tests, ist aber nicht wirklich schön und ob es irgendwelche Nebeneffekte hat, ist auch nicht ausprobiert worden) in der ~/.bashrc des entsprechenden Users unten folgenden Eintrag anfügen
Code:
# Folgenden Aenderung ist selbst verbockt und ich bin auch selbst dafür verantwortlich
cd /mein/lieblings/verzeichnis
Läuft bei mir schon seit Jahren ohne Probleme so (auch wenn das natürlich immer noch kein allgemeingültiger Test ist).

Gruß
 

RME

Advanced Hacker
Hallo,

Könnte man sowas nicht im /etc/profile bewerkstelligen?

Gruss,
Roland
 
OP
J

joe123

Newbie
Hallo,

den Fehler den ich gemacht habe ist folgender:
wollte einen Ordner mit Log-Files bereinigen die alle älter als 20 Tage sind
find . -type f -mtime +20 -exec rm{};
leider habe ich nicht den absoluten Pfad angegeben. wurde als root ausgeführt und da root auf dem Server in / steht hatte dies natürlich Folgen für den Server (ein hoch auf Backups :) )
nun hatte ich mir eben überlegt es wäre doch besser wenn root z.B. in /tmp beginnen würde


Gruß
joe
 

spoensche

Moderator
Teammitglied
joe123 schrieb:
den Fehler den ich gemacht habe ist folgender:
wollte einen Ordner mit Log-Files bereinigen die alle älter als 20 Tage sind
find . -type f -mtime +20 -exec rm{};
[/code]

Der Lerneffekt wird dann wohl der sein, dass man sich nicht als root direkt, sondern als normaler User anmeldet und mit su / sudo einen Befehl mit root Rechten ausführt, wenn es wirklich notwendig ist.

Du musst ältere Logfiles nicht manuell löschen, weil es von logrotate autom. erledigt wird.

joe123 schrieb:
da root auf dem Server in / steht hatte dies natürlich Folgen für den Server (ein hoch auf Backups :) )
nun hatte ich mir eben überlegt es wäre doch besser wenn root z.B. in /tmp beginnen würde

Mich würde schon mal interessieren, welche Distri bei dir am werkeln ist. Ich kenne keine Distri, die das Homeverzeichnis von root auf / setzt. Ausnahmen sind, wie erwähnt chroot bzw. Jail Umgebungen und vServer (Linux Container).

Wenn du /tmp als Home für root verwenden willst, dann sind nach einem Reboot i.d.R alle Dateien weg, weil /tmp als tmpfs gemountet und somit im RAM liegt. Da wir ja LSB und FHS konform sind wandert das Homeverzeichnis für root auch nach /root.

Das kannst du mit
Code:
usermod -md /root root

erledigen.
 
A

Anonymous

Gast
spoensche schrieb:
Ich kenne keine Distri, die das Homeverzeichnis von root auf / setzt. Ausnahmen sind, wie erwähnt chroot bzw. Jail Umgebungen und vServer (Linux Container).

Es ist ja auch nicht das Homeverzeichnis, sondern das aktuelle Arbeitsverzeichnis und das kann durchaus und ganz schnell / sein.
(ACHTUNG folgendes nicht ausprobieren ist nur zur Verdeutlichung warum man ein Backup braucht.)
dann lass einfach den Befehl von oben mal über einen cronjob laufen. :schockiert: :???: :schockiert: :???: :schockiert: :???: :schockiert: :???:

Schau mal was UC4 für ein Programm ist. Alles Autoatismus, da ist nichts mit angemeldet. Das ist im aller einfachsten Fall etwa wie cronjobs mit der Maus zusammenstellen und übers ganze Rechenzentrum jagen.

robi
 
Oben