GNU/Linux >> Belajar Linux >  >> Linux

Salah Mengatur Chmod / 777. Masalah?

Saya mencoba menjalankan chmod -R 777 ./ tapi akhirnya mengetik chmod -R 777 / dan atur 777 di seluruh mesin saya. Apa yang bisa salah? Bagaimana cara memperbaikinya?

Jawaban yang Diterima:

Masalah? Ya, banyak. Bisakah itu diperbaiki? Tentu. Lebih cepat daripada menginstal ulang? Mungkin tidak.

Rekomendasi saya adalah menginstal ulang. Simpan cadangan dari sistem yang ada, dan pulihkan daftar paket dan isi file di /etc dan /var . Untuk /usr/local , Anda mungkin dapat memulihkan izin secara manual. Untuk /home dan /srv , Anda harus memulihkan izin dari cadangan.

Jika ini adalah sistem dengan banyak pengguna lokal, perhatikan bahwa membuat beberapa file dapat dibaca dunia telah mengungkapkan beberapa hal yang seharusnya tetap dirahasiakan.

  • Daftar kata sandi Anda sekarang telah disusupi:pengguna lokal telah memiliki akses ke daftar kata sandi yang di-hash dan dapat mencoba memaksanya secara paksa. Beri tahu pengguna Anda tentang hal ini.
  • Semua data pengguna pribadi (kunci ssh, sandi tersimpan, email, apa pun yang dianggap rahasia oleh pengguna) telah diekspos ke semua pengguna lokal. Beri tahu pengguna Anda tentang hal ini.

Jika Anda benar-benar ingin mencoba memperbaiki (lebih merupakan latihan pembelajaran daripada rute pemulihan praktis), pertama-tama pulihkan izin beberapa file. Perhatikan bahwa sementara sebagian besar file sekarang terlalu terbuka, beberapa kehilangan bit setuid yang diperlukan. Berikut adalah langkah-langkah yang harus Anda ambil sebelum melakukan hal lain. Perhatikan bahwa ini bukan daftar lengkap, hanya upaya untuk membuat sistem hampir tidak berfungsi.

chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key   # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail

Maka Anda harus memulihkan semua izin di mana saja. Untuk file di bawah /usr , Anda dapat menginstal ulang paket dengan salah satu perintah berikut, tergantung pada distribusi Anda:

  • Jika Anda menggunakan Debian, Ubuntu, atau distribusi lain berdasarkan APT, Anda dapat menjalankan apt-get --reinstall install
  • Jika Anda menggunakan Arch Linux, Anda dapat menjalankan pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman , dengan asumsi bahwa Anda berada di Live CD dan instalasi Arch Anda terpasang di /newarch .

Untuk file di bawah /etc dan /var , itu tidak akan berfungsi, karena banyak dari mereka akan dibiarkan apa adanya:Anda harus mereplikasi izin pada instalasi yang berfungsi. Untuk file di bawah /srv dan /home , Anda tetap harus memulihkan dari cadangan. Seperti yang Anda lihat, Anda sebaiknya menginstal ulang.

Terkait:Bagaimana cara mematikan semua proses yang dimiliki oleh `pengguna` di Centos 7??
Linux
  1. Bagaimana Cara Chmod Tanpa /usr/bin/chmod?

  2. Setel Umask Untuk Sistem File yang dipasang di Sshfs?

  3. Pelajari cara mengubah izin untuk file dan folder

  1. File .o vs file .a

  2. Chmod 777 ke folder dan semua isinya

  3. Linux:Tetapkan izin hanya untuk direktori

  1. Bagaimana cara mengatur file terbuka nginx max?

  2. temukan file dengan set ACL

  3. Bagaimana cara chown/chmod semua file di direktori saat ini?