Jika saya menjalankan:
sudo chown -R user:user /
Bisakah saya mengembalikannya ke tempat sebelum saya menjalankannya?
command-line
permissions
chown
fronthem
sumber
sumber
sudo chown -R user:user ..
dapat memiliki efek yang sama dengan yang disebutkan di sini jika Anda satu tingkat di bawah root sistem file. Jangan mencoba hal seperti ini.Jawaban:
Singkatnya: tidak.
Anda harus memulihkan dari cadangan. (Beberapa alat cadangan mungkin memiliki opsi untuk hanya mengembalikan izin saja, yang lain dapat membuat daftar file yang didukung dengan izin mereka dan Anda dapat menggunakannya untuk memperbaiki sistem Anda.)
Jika Anda tidak memiliki cadangan, Anda harus memperbaiki semua itu secara manual.
sumber
sudo chown -R user:user /
itu, kemungkinan sistem disemprot sangat buruk sehingga Anda tidak dapat memulihkan dari cadangan.chown
menjelaskan, kemungkinan Anda tidak akan dapat melakukan apa pun sebelum menginstal keseluruhan sistem dari awal; sistem bahkan tidak memilikiroot
akun, dansudo
tidak akan berfungsi. Mungkin patut mencoba untuk boot ke shell pengguna tunggal, tetapi jangan berharap itu berfungsi.sudo
atau bahkansu
akan terus berfungsi ketika semua file yang relevan dimiliki olehuser
adalah masalah yang berbeda (mungkin bukan karena antara lain bit SUID pada exe akan hilang).Hanya jika Anda mengetahui kepemilikan pengguna dan grup dari setiap file dan direktori di bawah Anda
/
direktori .Bahkan kemudian, Anda sudah menghancurkan kepemilikan file sistem kritis yang perlu dimiliki oleh root, termasuk
sudo
perintah. Anda mungkin perlu memasang hard drive di sistem lain - dan perhatikan bahwa sistem lain kemungkinan tidak akan memiliki pemetaan UID dan GID yang sama dengan yang baru saja Anda musnah.Buat salinan seluruh hard drive jika Anda bisa, lalu instal ulang sistem operasi Anda. Setelah Anda selesai melakukannya, Anda dapat mencoba menyalin file kembali ke sistem yang baru dihapus dan mengembalikan kepemilikannya. Anda mungkin dapat berasumsi (walaupun tidak 100% andal) bahwa semua yang ada di bawah
/home/foo
adalah milik penggunafoo
, dan bahwa setiap file spool di bawah/var/mail
dimiliki oleh pengguna yang sesuai (jika Anda memiliki email pada sistem). Anda mungkin dapat pergi tanpa mengembalikan sebagian besar file yang tidak ada di bawah/home
, tergantung pada apa yang telah Anda lakukan dengan sistem.Dan kemudian mulailah menumbuhkan kebiasaan memeriksa ulang setiap perintah yang Anda jalankan
sudo
sebelum Anda menekan Enter.sumber
Jika distro Anda berbasis RPM, Anda HANYA dapat mengembalikan file yang diinstal oleh paket rpm.
Untuk mengembalikan semua izin paket:
Untuk mengembalikan semua pemilik paket (pengguna / grup):
Jika -a tidak berjalan, Anda bisa menjalankan bash loop:
Untuk izin:
Untuk pemilik:
Diambil dari: http://www.sysadmit.com/2016/10/linux-restaurar-permisos-de-un-paquete.html
sumber
Anda dapat menyimpan versi saat ini dan kemudian menguraikannya untuk kembali dengan menggunakan opsi -v.
Isinya adalah:
Dengan menggunakan bahasa skrip favorit Anda dan ekspresi reguler, Anda dapat menjalankan proses menyakitkan untuk mengembalikannya (jika harus).
Saya sangat merekomendasikan tidak melakukan chown rekursif pada / karena Anda akan mengekspos / etc / shadow atau file penting lainnya.
sumber
jika distro berbasis rpm:
sumber