Saya mencoba untuk menjalankan chmod -R 777 ./
tetapi akhirnya mengetik chmod -R 777 /
dan mengatur 777
seluruh mesin saya. Apa yang salah? Bagaimana saya bisa memperbaikinya?
Saya mencoba untuk menjalankan chmod -R 777 ./
tetapi akhirnya mengetik chmod -R 777 /
dan mengatur 777
seluruh mesin saya. Apa yang salah? Bagaimana saya bisa memperbaikinya?
Jawaban:
Masalah? Ya banyak. Bisakah itu diperbaiki? Yakin. Lebih cepat dari menginstal ulang? Mungkin tidak.
Rekomendasi saya adalah menginstal ulang. Simpan cadangan dari sistem yang ada, dan pulihkan daftar paket dan isi file dalam /etc
dan /var
. Sebab /usr/local
, Anda mungkin dapat mengembalikan 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 yang dapat dibaca dunia telah mengungkapkan beberapa hal yang seharusnya tetap dirahasiakan.
Jika Anda benar-benar ingin mencoba memperbaiki (lebih banyak latihan pembelajaran daripada rute pemulihan praktis), pertama-tama pulihkan izin beberapa file. Perhatikan bahwa sementara sebagian besar file sekarang terlalu terbuka, beberapa tidak ada bit setuid yang diperlukan . Berikut adalah langkah-langkah yang harus Anda ambil sebelum hal lain. Perhatikan bahwa ini bukan daftar lengkap, hanya upaya 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 mengembalikan semua izin di mana saja. Untuk file di bawah /usr
, Anda dapat menginstal ulang paket dengan salah satu dari perintah berikut, tergantung pada distribusi Anda:
apt-get --reinstall install
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 menginstal Arch Anda sudah terpasang di /newarch
.Untuk file di bawah /etc
dan /var
, itu tidak akan berfungsi, karena banyak dari mereka akan dibiarkan seperti itu: Anda harus mereplikasi izin pada instalasi yang berfungsi. Untuk file di bawah /srv
dan /home
, Anda harus mengembalikan dari cadangan. Seperti yang Anda lihat, Anda mungkin juga menginstal ulang.
Anda mungkin tidak memperhatikannya pada awalnya, tetapi banyak hal yang bisa dan akan salah. Masalah utama adalah bahwa seluruh model keamanan untuk seluruh sistem rusak. Ini seperti memiliki tubuh tanpa kulit, semua organ di udara. Pasti terinfeksi karena itu tidak dimaksudkan untuk berfungsi seperti itu. Bahkan jika tampaknya berfungsi selama beberapa menit, Anda perlu membersihkan ini.
Cara terbaik sebenarnya adalah mulai dari awal. Cara ini akan sangat mengurangi risiko Anda dan memberi Anda hasil yang lebih bersih dalam waktu yang lebih singkat. Jika Anda memiliki cadangan yang tepat, ini seharusnya tidak terlalu mencoba pengalaman.
Jika Anda memang mencoba untuk membersihkannya, Cara utama adalah memberi tahu manajer paket distro Anda untuk menginstal kembali SEMUA yang ada di sistem termasuk, menimpa file konfigurasi. Kemudian gunakan sistem verifikasi apa pun yang harus dilihatnya dan pastikan tidak ada yang ditandai memiliki file dengan izin yang tidak biasa. Selanjutnya, selesaikan hal-hal seperti direktori home user dan setel ulang semuanya menjadi izin waras secara massal, kemudian kerjakan beberapa hal yang harus memiliki izin khusus (seperti file kunci ssh). Terakhir, lakukan pencarian sistem lengkap untuk semua yang ditandai sebagai 777 dan periksa daftarnya (seharusnya kecil jika Anda telah melakukan langkah-langkah lainnya dengan saksama) dan selesaikan satu per satu untuk memastikan bahwa mereka memang seperti itu adanya.
SOLUSI: Saya MENGUJI INI DI CENTOS
Orang ini menyelamatkan pekerjaanku! (Anda perlu mengakses entah bagaimana)
http://www.adminlinux.org/2009/07/how-to-restore-default-system.html
1) Untuk mengatur ulang uids dan gids pada file dan direktori:
for u in $(rpm -qa); do rpm --setugids $u; done
2) Untuk izin pada file dan direktori
for p in $(rpm -qa); do rpm --setperms $p; done
lalu ubah izin secara manual ke file-file ini:
# ll /etc/ssh/
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_dsa_key
# service sshd restart
Beberapa program yang sadar keamanan tidak akan mulai jika file tertentu memiliki izin yang terlalu "longgar". Seperti yang dikatakan @ceving, sshd
adalah yang paling khas dari ini.
Hal utama yang bisa salah adalah sekarang setiap pengguna dapat membuka, membaca, dan menulis file apa pun di sistem Anda. Dua alasan mengapa hal ini buruk adalah: A) jika pengguna jahat memperoleh kendali atas sistem Anda baik melalui eksploitasi atau kesalahan konfigurasi, ia dapat memodifikasi apa pun di sistem Anda sekarang, dan B) Anda dapat menghapus apa pun yang Anda inginkan meskipun Anda bukan root, jadi Anda baru saja mengabaikan sebagian besar perlindungan agar tidak berjalan sebagai root.
Jika Anda tidak mencadangkan izin sebelumnya Anda berada dalam sedikit situasi. Anda mungkin dapat membuat skrip yang "mengambil" daftar izin dari sistem yang baru diinstal dan kemudian "menerapkan" itu untuk semua yang ada di sistem Anda. Tapi saya tidak punya skrip seperti itu.
rm -rf /
sebagai pengguna normal sekarang, Anda akan menghentikan sistem Anda.