GNU/Linux >> Belajar Linux >  >> Linux

Cara mengembalikan file di bawah direktori home pengguna ke default di Linux

Masalahnya

Jika secara tidak sengaja konteks atau izin file dari file di bawah direktori home pengguna telah diubah, kesalahan izin atau perilaku aplikasi yang tidak terduga mungkin terjadi setelah sistem login pengguna ini.

Misalnya, jika izin file /home/user1/.bash_profile salah, login user1 akan mendapatkan prompt “/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$

Posting ini menginstruksikan cara mengembalikan file/subdirektori di bawah direktori home pengguna ke default.

Solusinya

Ada 2 file/direktori penting yang diperlukan untuk mengembalikan direktori home pengguna ke default. Mereka terutama:
1. /etc/skel direktori
2. /etc/default/useradd

Direktori skel

Direktori /etc/skel/ (skel berasal dari "kerangka") digunakan untuk memulai direktori home saat pengguna pertama kali dibuat. Contoh tata letak file pengguna "kerangka":

# 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 ..
Catatan :Direktori “skeleton” didefinisikan dalam file /etc/default/useradd.
# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Pulihkan file di bawah direktori home

1. Misalnya, jika file .bash_profile dihapus dari direktori home pengguna seperti yang ditunjukkan di bawah ini.

$ 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. Untuk mengembalikan file .bash_profile asli, salin file default dari direktori “kerangka”:

$ 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 ..
Catatan :Salin file di bawah hak pengguna yang sesuai. Jika menyalin file melalui pengguna root, Anda perlu mengubah kepemilikan dan izin file secara manual setelahnya.

Kembalikan sub direktori di bawah direktori home

Misalnya, untuk mengembalikan sub direktori .mozilla, salin dengan opsi –recursive (-r):

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

Kembalikan seluruh direktori home dari awal

Mari kita lihat bagaimana kita dapat mengembalikan seluruh direktori home untuk pengguna. Untuk tujuan contoh ini, kami akan menghapus direktori home user1.
1. Periksa UID dan GID pengguna:

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

2. Hapus direktori home pengguna dan pengguna melalui hak akses root:

# rm -rf /home/user1

3. Salin semua file dari direktori /etc/skel di direktori home pengguna.

# 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. Cara menggunakan FTP di Linux untuk mentransfer file

  2. Apa tujuan dari file .bash_profile di bawah Direktori Beranda Pengguna Di Linux?

  3. Cara Mengidentifikasi Pengguna yang Menghapus File Dari Direktori yang Diberikan di Linux

  1. Cara Menghapus Akun Pengguna dengan Direktori Rumah di Linux

  2. Bagaimana cara menyalin file/folder dari direktori home pengguna lain di Linux?

  3. Bagaimana saya bisa mengotomatiskan pembersihan dan pengaturan ulang direktori home pengguna Linux ke default?

  1. Cara Mengembalikan Direktori /tmp yang Dihapus di Linux

  2. Cara menyesuaikan lingkungan pengguna Linux

  3. Cara Membuat Pengguna Dengan Direktori Home Kustom Di Linux