OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

6.6. Erstellen wesentlicher Dateien und Symlinks‌

Image

/tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin

/tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin

/tools/bin/{env,install,perl,printf}

/tools/lib/libgcc_s.so{,.1}

/tools/lib/libstdc++.{a,so{,.6}}

/tools/bin/{env,install,perl,printf}

/tools/lib/libgcc_s.so{,.1}

/tools/lib/libstdc++.{a,so{,.6}}

/ usr / bin

/ Usr / lib

/ Usr / lib

/ usr / bin

/ Usr / lib

/ Usr / lib

Einige Programme verwenden fest verdrahtete Pfade zu Programmen, die noch nicht existieren. Um diesen Programmen gerecht zu werden, erstellen Sie eine Reihe symbolischer Links, die im Laufe dieses Kapitels nach der Installation der Software durch echte Dateien ersetzt werden:


ln ln ln

ln

-sv

-sv

-sv

-sv

ln ln ln

ln


ln -sv bash /bin/sh

ln -sv bash /bin/sh

Der Zweck jedes Links:

/ bin / bash

Viele bash Skripte angeben / bin / bash.

/bin/kat

Dieser Pfadname ist im Konfigurationsskript von Glibc fest codiert.

/bin/dd

Der Weg zu dd wird fest in das codiert /usr/bin/libtool Dienstprogramm.

/bin/echo

Dies dient dazu, einen der Tests in der Testsuite von Glibc zu erfüllen, der erwartet /bin/echo.

/usr/bin/env

Dieser Pfadname ist in einigen Paketerstellungsprozeduren fest codiert.

/usr/bin/install

Der Weg zu installieren wird fest in das codiert /usr/lib/bash/Makefile.inc Datei.

/bin/ln

Der Weg zu ln wird fest in das codiert /usr/lib/perl5/5.30.0/ /Config_heavy.pl Datei.

/bin/pwd

Manche konfigurieren In Skripten, insbesondere in Glibcs, ist dieser Pfadname fest codiert.

/bin/rm

Der Weg zu rm wird fest in das codiert /usr/lib/perl5/5.30.0/ /Config_heavy.pl Datei.

/ bin / stty

Dieser Pfadname ist in Expect fest codiert und wird daher benötigt, damit Binutils- und GCC-Testsuiten erfolgreich sind.

/ Usr / bin / perl

Viele Perl-Skripte codieren diesen Pfad zum perl

/usr/lib/libgcc_s.so{,.1}

Glibc benötigt dies, damit die pthreads-Bibliothek funktioniert.

/usr/lib/libstdc++{,.6}

Dies wird für mehrere Tests in der Testsuite von Glibc sowie für die C++-Unterstützung in GMP benötigt.

/ Bin / sh

Viele Shell-Skripte sind fest codiert / Bin / sh.


Traditionell verwaltet Linux eine Liste der gemounteten Dateisysteme in der Datei / etc / mtab. Moderne Kernel verwalten diese Liste intern und stellen sie dem Benutzer über zur Verfügung / proc Dateisystem. Um Versorgungsunternehmen zufriedenzustellen, die das Vorhandensein von erwarten /etc/mtab, erstellen Sie den folgenden symbolischen Link:


ln -sv /proc/self/mounts /etc/mtab

ln -sv /proc/self/mounts /etc/mtab


Damit der Benutzer Wurzel Um sich anmelden zu können und der Name „root“ erkannt zu werden, müssen entsprechende Einträge im vorhanden sein / etc / passwd und / etc / group Dateien.

erstellen Sie / etc / passwd Datei durch Ausführen des folgenden Befehls:


cat > /etc/passwd << „EOF“ root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/false daemon:x:6:6:Daemon User:/dev/ null:/bin/false

messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false none:x:99:99:Unprivileged User:/dev/null:/bin/false

EOF

cat > /etc/passwd << „EOF“ root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/false daemon:x:6:6:Daemon User:/dev/ null:/bin/false

messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false none:x:99:99:Unprivileged User:/dev/null:/bin/false

EOF


Image

Das eigentliche Passwort für Wurzel (das hier verwendete „x“ ist nur ein Platzhalter) wird später festgelegt. Erstellen Sie die / etc / group Datei durch Ausführen des folgenden Befehls:


cat > /etc/group root:x:0: bin:x:1:daemon sys:x:2:

kmem:x:3:

Band:x:4:

tty:x:5: daemon:x:6: floppy:x:7: disk:x:8:

lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: messagebus: x:18: Eingabe:x:24: Mail:x:34: kvm:x:61: Rad:x:97: nogroup:x:99: Benutzer:x:999:

EOF

<<

"EOF"

cat > /etc/group root:x:0: bin:x:1:daemon sys:x:2:

kmem:x:3:

Band:x:4:

tty:x:5: daemon:x:6: floppy:x:7: disk:x:8:

lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: messagebus: x:18: Eingabe:x:24: Mail:x:34: kvm:x:61: Rad:x:97: nogroup:x:99: Benutzer:x:999:

EOF


Die erstellten Gruppen sind nicht Teil eines Standards – es handelt sich um Gruppen, die teilweise durch die Anforderungen der Udev-Konfiguration in diesem Kapitel und teilweise durch allgemeine Konventionen festgelegt werden, die von einer Reihe bestehender Linux-Distributionen verwendet werden. Darüber hinaus sind einige Testsuiten auf bestimmte Benutzer oder Gruppen angewiesen. Die Linux Standard Base (LSB, verfügbar unter http://www. linuxbase.org) empfiehlt außer der Gruppe nur das Wurzel mit einer Gruppen-ID (GID) von 0, eine Gruppe Kasten mit einer GID von 1 vorhanden sein. Alle anderen Gruppennamen und GIDs können vom Systemadministrator frei gewählt werden, da gut geschriebene Programme nicht auf GID-Nummern angewiesen sind, sondern den Namen der Gruppe verwenden.

Um die Meldung „Ich habe keinen Namen!“ zu entfernen, Eingabeaufforderung: Starten Sie eine neue Shell. Da in Kapitel 5 eine vollständige Glibc installiert wurde und die /etc/passwd und / etc / group Nachdem die Dateien erstellt wurden, funktioniert die Auflösung von Benutzernamen und Gruppennamen jetzt:


exec /tools/bin/bash --login +h

exec /tools/bin/bash --login +h

Beachten Sie die Verwendung der +h Richtlinie. Das verrät es bash das interne Pfad-Hashing nicht zu verwenden. Ohne diese Richtlinie bash würde sich die Pfade zu den Binärdateien merken, die es ausgeführt hat. Um sicherzustellen, dass die neu kompilierten Binärdateien sofort nach der Installation verwendet werden können, wird die +h Die Direktive wird für die Dauer dieses Kapitels verwendet.

Image

/var/log/{btmp,lastlog,faillog,wtmp}

/var/log/{btmp,lastlog,faillog,wtmp}

-v

-v

-v

-v

-v

-v

utmp 664

600

utmp 664

600

/ var / log / lastlog

/ var / log / lastlog

/var/log/btmp

/ var / log / lastlog

/ var / log / lastlog

/var/log/btmp

Das login, gut und init Programme (und andere) verwenden eine Reihe von Protokolldateien, um Informationen aufzuzeichnen, z. B. wer wann beim System angemeldet war. Diese Programme schreiben jedoch nicht in die Protokolldateien, wenn diese nicht bereits vorhanden sind. Initialisieren Sie die Protokolldateien und erteilen Sie ihnen die entsprechenden Berechtigungen:


Berühren Sie chgrp chmod

chmod

Berühren Sie chgrp chmod

chmod

Image

Das /var/log/wtmp Die Datei zeichnet alle Anmeldungen und Abmeldungen auf. Der / var / log / lastlog Die Datei zeichnet auf, wann sich jeder Benutzer zuletzt angemeldet hat /var/log/faillog Die Datei zeichnet fehlgeschlagene Anmeldeversuche auf. Der /var/log/btmp Die Datei zeichnet die fehlerhaften Anmeldeversuche auf.


Note

Das /run/utmp Die Datei zeichnet die Benutzer auf, die derzeit angemeldet sind. Diese Datei wird dynamisch in den Startskripten erstellt.

Note

Das /run/utmp Die Datei zeichnet die Benutzer auf, die derzeit angemeldet sind. Diese Datei wird dynamisch in den Startskripten erstellt.


Top OS Cloud Computing bei OnWorks: