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

So stellen Sie Dateien im Home-Verzeichnis des Benutzers auf den Standardwert in Linux wieder her

Das Problem

Wenn versehentlich der Kontext oder die Dateiberechtigung von Dateien im Home-Verzeichnis des Benutzers geändert wurde, können nach diesem Benutzeranmeldesystem Berechtigungsfehler oder unerwartetes Anwendungsverhalten auftreten.

Wenn beispielsweise die Dateiberechtigung von /home/user1/.bash_profile falsch ist, erhält der Anmeldebenutzer1 die Eingabeaufforderung „/home/user1/.bash_profile:Permission denied“:

login as: user1
user1@geeklab's password:
Last login: Mon Dec 15 15:08:20 2014 from geeklab2.example.com
-bash: /home/user1/.bash_profile: Permission denied
-bash-3.2$

In diesem Beitrag erfahren Sie, wie Sie Dateien/Unterverzeichnisse im Home-Verzeichnis des Benutzers auf die Standardwerte zurücksetzen.

Die Lösung

Es gibt 2 wichtige Dateien/Verzeichnisse, die erforderlich sind, um das Home-Verzeichnis des Benutzers auf den Standardwert zurückzusetzen. Dies sind hauptsächlich:
1. /etc/skel-Verzeichnis
2. /etc/default/useradd

Das skel-Verzeichnis

Verzeichnis /etc/skel/ (skel ist von „skeleton“ abgeleitet) wird verwendet, um das Home-Verzeichnis zu initiieren, wenn der Benutzer zum ersten Mal erstellt wird. Ein Beispiellayout von „Skelett“-Benutzerdateien:

# ls -lart /etc/skel
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root   176 Feb 15  2017 .bash_profile
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..
Hinweis :Das Verzeichnis „Skelett“ ist in der Datei /etc/default/useradd definiert.
# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Stellen Sie eine Datei im Home-Verzeichnis wieder her

1. Zum Beispiel, wenn die Datei .bash_profile aus dem Home-Verzeichnis des Benutzers entfernt wird, wie unten gezeigt.

$ rm ~/.bash_profile
# ls -lart /etc/skel
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..

2. Um die ursprüngliche .bash_profile-Datei wiederherzustellen, kopieren Sie die Standarddatei aus dem „skeleton“-Verzeichnis:

$ cp /etc/skel/.bash_profile ~/
# ls -lart ~/
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root   176 Feb 15  2017 .bash_profile
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..
Hinweis :Kopieren Sie die Datei unter dem entsprechenden Benutzerrecht. Wenn Sie die Datei über den Root-Benutzer kopiert haben, müssen Sie anschließend den Besitz und die Dateiberechtigung manuell ändern.

Stellen Sie ein Unterverzeichnis im Home-Verzeichnis wieder her

Um beispielsweise ein Unterverzeichnis .mozilla wiederherzustellen, kopieren Sie es mit der Option –recursive (-r):

$ cp -r /etc/skel/.mozilla/ ~/

Gesamtes Home-Verzeichnis von Grund auf neu wiederherstellen

Lassen Sie uns sehen, wie wir das gesamte Home-Verzeichnis für einen Benutzer wiederherstellen können. Für dieses Beispiel löschen wir das Home-Verzeichnis von user1.
1. Benutzer-UID und -GID prüfen:

$ id user1
uid=54324(user1) gid=54325(user1) groups=54325(user1)

2. Löschen Sie das Home-Verzeichnis des Benutzers und den Benutzer mit Root-Rechten:

# rm -rf /home/user1

3. Kopieren Sie alle Dateien aus dem Verzeichnis /etc/skel in das Home-Verzeichnis des Benutzers.

# cp -r /etc/skel/* ~/
# ls -lart /home/user1/
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root   176 Feb 15  2017 .bash_profile
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..


Linux
  1. So löschen Sie Benutzerkonten mit Home-Verzeichnis in Linux

  2. So stellen Sie das gelöschte /tmp-Verzeichnis in Linux wieder her

  3. So passen Sie Linux-Benutzerumgebungen an

  4. So erstellen Sie einen Benutzer mit einem benutzerdefinierten Home-Verzeichnis in Linux

  5. Wie stellt man den Besitz der Standardgruppe/des Benutzers aller Dateien unter /var wieder her?

So listen Sie alle Benutzer in Linux auf

Erstellen Sie ein Home-Verzeichnis für einen bestehenden Benutzer in Linux

Wie man Dateien in Linux rekursiv auflistet

So zählen Sie Dateien im Verzeichnis unter Linux

So zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux

So erstellen/fügen Sie Benutzer in Linux hinzu