GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So passen Sie Linux-Benutzerumgebungen an

Die Systemsicherheit ist ein wichtiges Anliegen. Als Systemadministrator ist es, wie ich bereits erwähnt habe, Ihr Hauptanliegen. Das Hinzufügen von Benutzern zu einem System verringert die Sicherheit. Ihre Aufgabe ist es, eine nutzbare, aber sichere Umgebung für Ihre Benutzer zu schaffen. Sie müssen Unternehmensressourcen schützen, Systeme warten und Benutzer zufriedenstellen. Wie Sie wissen, gibt es oft einen Konflikt zwischen diesen drei Aspekten der Systemadministration. Eine Möglichkeit, alle drei Anforderungen zu erfüllen, besteht darin, die Umgebung Ihrer Benutzer anzupassen, indem Sie einen Unternehmensstandard implementieren und durchsetzen. Es ist nicht einfach, ein Gleichgewicht zwischen Benutzerproduktivität und Systemsicherheit zu finden. Ich kann keine Spezifikationen für Ihre spezielle Situation schreiben, aber ich kann Ihnen zeigen, wo Sie die notwendigen Änderungen vornehmen müssen, damit Sie dies tun können.

Dieser Artikel behandelt das Anpassen der Umgebung Ihrer Benutzer mithilfe von Dateien in /etc/skel und /etc/profile.d Verzeichnisse. Bei einer Neuinstallation des Systems finden Sie drei Dateien unter /etc/skel: .bash_logout , .bash_profile , und .bashrc . Wenn Sie ein neues Benutzerkonto auf einem System erstellen, werden diese drei Dateien in das Home-Verzeichnis des Benutzers kopiert und gehören dem Benutzer. Falls Sie es nicht wissen, der sogenannte Punkt Dateien (die mit einem vorangestellten Punkt (.) benannten Dateien werden aus Standarddateilisten ausgeblendet. Um sie anzuzeigen, müssen Sie den -a verwenden wechseln Sie mit dem ls-Befehl.

-rw-r--r--.  1 root root   18 Mar 31 21:17 .bash_logout
-rw-r--r--.  1 root root  193 Mar 31 21:17 .bash_profile
-rw-r--r--.  1 root root  231 Mar 31 21:17 .bashrc

Wie Sie sehen können, gehören diese Dateien root und können nur vom root-Benutzer bearbeitet oder geändert werden.

.bash_profile

Das .bash_profile Datei ist die wichtigste der drei aufgeführten Dateien. Es ist am wichtigsten, weil es die einzige "erforderliche" Datei in der Liste ist. Es wird jedes Mal ausgeführt, wenn sich der Benutzer bei einem System anmeldet, es startet die .bashrc Datei und definiert und exportiert die PATH-Variable. Die Standardeinstellungen sind einfach.

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

Das .bash_profile kann auch verwendet werden, um einen benutzerdefinierten Shell-Prompt zu definieren, den Editor seiner Wahl zu definieren oder irgendetwas anderes, das Sie für den Benutzer in die Datei einfügen möchten.

[ Das könnte Ihnen auch gefallen:Tipps und Tricks zu Linux-Umgebungsvariablen ]

.bashrc

Der Inhalt der .bashrc-Datei ruft standardmäßig nur /etc/bashrc auf Datei. Die /etc/bashrc Datei besteht aus Einstellungen, die für alle Benutzer konfiguriert werden können.

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions

Sie können auch andere Dateien aufrufen, die für bestimmte Benutzergruppen konfiguriert sind. Wenn ein Benutzer beispielsweise Mitglied der Finanzgruppe ist, könnten Sie eine Datei aufrufen, um einen bestimmten Satz von Variablen für alle Benutzer in der Finanzgruppe einzurichten.

/etc/bashrc und /etc/profile

Die Auflistung für /etc/bashrc ist viel zu lang für diesen Veranstaltungsort, aber Sie können es sich ansehen und sehen, was es tut. Die /etc/bashrc Datei bezieht sich auf /etc/profile Datei für weitere Umgebungsvariablen und Einstellungen. Beide Dateien enthalten die folgende Warnung.

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

Sie sehen also, das Anpassen einer Benutzerumgebung ist nicht so einfach, wie Sie dachten.

/etc/profile.d

Wenn Sie die Dateien in /etc/profile.d auflisten , sehen Sie Folgendes:

-rw-r--r--.  1 root root  771 Mar 31 21:50 256term.csh
-rw-r--r--.  1 root root  841 Mar 31 21:50 256term.sh
-rw-r--r--.  1 root root  196 Mar 24  2017 colorgrep.csh
-rw-r--r--.  1 root root  201 Mar 24  2017 colorgrep.sh
-rw-r--r--.  1 root root 1741 Aug  6  2019 colorls.csh
-rw-r--r--.  1 root root 1606 Aug  6  2019 colorls.sh
-rw-r--r--.  1 root root   80 Mar 31 23:29 csh.local
-rw-r--r--.  1 root root 1706 Mar 31 21:50 lang.csh
-rw-r--r--.  1 root root 2703 Mar 31 21:50 lang.sh
-rw-r--r--.  1 root root  123 Jul 30  2015 less.csh
-rw-r--r--.  1 root root  121 Jul 30  2015 less.sh
-rw-r--r--.  1 root root   81 Mar 31 23:29 sh.local
-rw-r--r--.  1 root root  164 Jan 27  2014 which2.csh
-rw-r--r--.  1 root root  169 Jan 27  2014 which2.sh

Sie können sehen, dass viele der Dateien für die Verwendung in der C-Shell bestimmt sind. Die wichtigste Datei für den Fokus dieses Artikels ist sh.local . Der Inhalt von sh.local ist unten aufgeführt.

#Add any required envvar overrides to this file, it is sourced from /etc/profile

Wie Sie der Meldung entnehmen können, müssen Sie, wenn Sie alle derzeit konfigurierten envvar-Einträge (Umgebungsvariablen) mit einem Unternehmensstandard überschreiben möchten, entsprechende Einträge in dieser Datei vornehmen.

Warnhinweise

Wenn Nutzer mehr über ihre Umgebung und Google-Dinge erfahren, passen sie ihre eigenen an – oft zu ihrem Nachteil. Sie müssen ein Gleichgewicht zwischen einem Laissez-faire-Systemadministrator und einem hartnäckigen Diktator-Systemadministrator finden. Sie möchten, dass Benutzer produktiv sind, aber eine begrenzte Kontrolle über ihre eigenen Umgebungen haben. Mein Vorschlag, um beide Seiten glücklich zu machen, ist, alle Standard-Benutzerumgebungsparameter des Unternehmens in /etc/bashrc festzulegen und in /etc/profile.d/sh.local die nicht bearbeitet oder geändert werden sollen.

Beachten Sie, dass /home/user/.bash_profile , .bashrc , und .bash_logout sind vom Benutzer bearbeitbare Dateien. Die einzige Möglichkeit, dies zu umgehen, besteht darin, die Berechtigung für diese Dateien mit einem Root-Benutzerskript zu ändern, nachdem Sie die Konten erstellt haben. Mit anderen Worten, führen Sie ein Skript aus, nachdem Sie ein Benutzerkonto erstellt haben, um die Berechtigungen für /home/user/.bash* zu ändern Dateien in root: rw-r--r-- . Der Benutzer kann die Dateien nicht ändern.

Wenn Sie die Umgebung sperren möchten, indem Sie die Datei .bash* ändern Dateien in den Root-Besitz zu übertragen, könnten Sie eine neue Datei in /etc/skel erstellen B. ein .user Datei, die der Benutzer bearbeiten und in .bash_profile einfügen kann Datei.

[ Möchten Sie mehr über Sicherheit erfahren? Schauen Sie sich die Checkliste für IT-Sicherheit und Compliance an. ] 

Abschluss

Das Anpassen der Umgebung eines Benutzers kann die Systemsicherheit verbessern und standardisieren, was Benutzer sehen und wie sie mit einem System interagieren. Das Gewähren von Shell-Zugriff auf ein Produktionssystem hat seine eigenen Auswirkungen, aber Sie müssen Ressourcen für Ihre Benutzer bereitstellen, um ihre Produktivität zu maximieren und die Systemsicherheit zu maximieren. Wenn Sie das perfekte Gleichgewicht finden, schreiben Sie es bitte in einen Artikel für Sysadmin aktivieren. Meiner eigenen Erfahrung nach hat jeder Benutzer das Gefühl, die Ausnahme vom Unternehmensstandard zu sein, und ziemlich bald gibt es eine Reihe von Ausnahmen und überhaupt keinen Unternehmensstandard.


Linux
  1. So ändern Sie einen Benutzernamen in Linux

  2. So listen oder sortieren Sie alle Dateien nach Größe in Linux

  3. So richten Sie Sudo-Berechtigungen für Benutzer in Linux ein

  4. So fügen Sie Benutzer zu einer Gruppe in Linux hinzu

  5. So führen Sie Elasticsearch 2.1.1 als Root-Benutzer auf einem Linux-Computer aus

Linux-Passwort für WSL vergessen? Hier erfahren Sie, wie Sie es einfach zurücksetzen können

So ändern Sie den Benutzer unter Linux

So beschränken Sie den Root-Benutzer in CentOS

Wie deaktiviere ich die SSH-Anmeldung für den Root-Benutzer in Linux?

So fügen Sie einen Benutzer zu einer Gruppe unter Linux hinzu

So fügen Sie einen Benutzer zu einer Linux-Gruppe hinzu