Wo soll die Bash-Konfiguration für neu erstellte Benutzer abgelegt werden?

Wo soll die Bash-Konfiguration für neu erstellte Benutzer abgelegt werden?

Ich habe eine Aufgabe und bin mir nicht sicher, welche Bash-Konfigurationsdatei ich bearbeiten soll.

Ich soll eine Bash-Konfigurationsdatei bearbeiten, die PS1-Eingabeaufforderung ändern und eine Umgebungsvariable hinzufügen, die ~/scripts durchsucht, wenn ein Root-Benutzer einen Befehl eingibt. Anschließend soll ich sie in das entsprechende Verzeichnis kopieren, damit alle neu erstellten Benutzer auch über die Variablen verfügen.

Den ersten Teil schaffe ich problemlos, bin mir aber nicht sicher, welche Konfigurationsdatei ich bearbeiten soll. Basierend auf der zweiten Anforderung bearbeite ich ~/.bashrc, aber dann stecke ich beim zweiten Teil fest, in welches Verzeichnis ich kopieren soll.

NDG sagt, dass alle Dateien in diesem Verzeichnis mit der Erweiterung .sh automatisch in /etc/profile.d/ ausgeführt werden, also habe ich ~/.bashrc dort in etwas wie bashrc.sh kopiert/umbenannt. Aber wenn ich es mit einem neuen Benutzerprofil teste, erscheint im Terminal eine leere Eingabeaufforderung.

Hoffentlich kann mir hier jemand helfen, danke.


Der genaue Wortlaut der Aufgabe

  1. Konfigurieren Sie in der entsprechenden Konfigurationsdatei der Bash-Shell die primäre Eingabeaufforderung so, dass Ihr Nachname, gefolgt von @, dem Hostnamen und dem Arbeitsverzeichnis angezeigt wird.
  2. Erstellen Sie ein Verzeichnis mit dem Namen ~/scripts
  3. Ändern Sie in der entsprechenden Konfigurationsdatei der Bash-Shell die entsprechende Umgebungsvariable, sodass das System auch das neu erstellte Verzeichnis ~/scripts durchsucht, wenn der Root-Benutzer einen Befehl eingibt.
  4. Kopieren Sie die Bash-Shell-Konfigurationsdatei, die Sie in den obigen Schritten geändert haben, in das entsprechende Verzeichnis, sodass bei jeder Erstellung eines neuen Benutzers dieser auch über diese Umgebungsvariablenwerte verfügt.

Antwort1

Sie scheinen beim Bearbeiten gute Arbeit zu leisten .bashrc; das Verzeichnis, in das Sie auch die Vorlagen aller Konfigurations-/Skriptdateien kopieren müssen, die beim Erstellen eines Benutzers dupliziert werden sollen, befindet sich normalerweise unter /etc/skel.

Sie würden also Folgendes tun:

  1. Anhängen ~/.bashrcund dort platzieren:

    PS1="surname@\h\w>"
    
  2. Platzhalter für zukünftige Benutzerskripte erstellen unter ~/scripts

    mkdir ~/scripts
    
  3. Hängen Sie es an ~/.bashrceinen $PATH-Modifikator an, damit nach Skripten gesucht werden kann. Als Faustregel gilt, dass Sie es aus Sicherheitsgründen am Ende und nicht am Anfang anhängen.

    PATH=$PATH:~/scripts
    
  4. In diesem letzten Teil müssen Sie dies als tun rootoder zur sudoGruppe gehören, die dem Befehl vorangestellt ist, um sudoSuperuser-Berechtigungen zu haben; Ihre normalen Standardbenutzerberechtigungen reichen nicht aus, um in das Verzeichnis /etc/skel zu schreiben. Wie in

    sudo cp ~/.bashrc /etc/skel
    

    oder als rootBenutzer:

    cp  ~your_user_name/.bashrc /etc/skel
    

Siehe die entsprechendenVerknüpfungfür weitere Details zu /etc/skel

Das Verzeichnis /etc/skel enthält Dateien und Verzeichnisse, die automatisch in das Home-Verzeichnis eines neuen Benutzers kopiert werden, wenn dieser vom Programm useradd erstellt wird.

/etc/skel ermöglicht einem Systemadministrator, ein Standard-Home-Verzeichnis für alle neuen Benutzer auf einem Computer oder Netzwerk zu erstellen und so sicherzustellen, dass alle Benutzer mit denselben Einstellungen oder derselben Umgebung beginnen.

Bei der Installation des Betriebssystems werden standardmäßig mehrere Benutzerkonfigurationsdateien in /etc/skel abgelegt.

Der Name des Verzeichnisses skel leitet sich vom Wort Skelett ab, da die darin enthaltenen Dateien die Grundstruktur für die Home-Verzeichnisse der Benutzer bilden.

Informationen zur Umgebungsvariable PATH finden Sie unterDas

Die Umgebungsvariable PATH ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, die Ihre Shell durchsucht, wenn Sie einen Befehl eingeben.

Programmdateien (ausführbare Dateien) werden an vielen verschiedenen Stellen im Unix-System gespeichert. Ihr Pfad sagt der Unix-Shell, wo im System sie suchen soll, wenn Sie ein bestimmtes Programm anfordern.

Um Ihre Eingabeaufforderung mit PS1 zu ändern, können Sie mit dem.bashrc PS1-Generatorund sehen Sie die Änderungen in Echtzeit auf einer sehr intelligenten Webseite.

verwandte Informationen