Adakah pemulihan dari ini? sudo chmod 600. *

8

PERINGATAN - DO NOT RUN THE DISEBUTKAN COMMAND

Jadi sepertinya saya melakukan sesuatu yang sangat bodoh di sini untuk membuatnya lebih halus. Saya mencoba untuk mengubah izin untuk beberapa file dalam direktori yang semuanya dimulai dengan .membaca / menulis untuk sudo / root saja.

Upaya saya mengubah beberapa file sekaligus tampaknya telah melakukan sesuatu yang sangat global. Saat berada di dalam direktori (bukan di direktori root) saya berlari sudo chmod 600 .*dan saya memposting ini dari ponsel saya sekarang ... Saya masih memiliki jendela terminal terbuka saat ini, tapi saya cukup yakin jika laptop berjalan untuk tidur saya sudah selesai. Riang itu berarti ada sedikit urgensi untuk pertanyaan ini.

Oh dan ini tampaknya telah mengubah izin sialan di dekat mana-mana yang saya duga. Aku bahkan tidak bisa menjalankan lsatau cd ..perintah. Upaya cd /home/brianatau cd ~memberikan kesalahan bash: cd: /home/brian: Permission Denieddan setiap upaya sudoperintah hanya mengatakanbash: /usr/bin/sudo: Permission Denied

Saya takut mem-boot ulang, tidak ada petunjuk apakah ada pemulihan dari sesuatu yang bodoh ini, tetapi saya pikir saya akan mencoba bertanya di sini sebelum memperburuk keadaan. Saya Linux yang cukup baru sebagai OS utama saya dikonversi dan telah mengadvokasi untuk itu akhir-akhir ini, tapi aduh, ini agak menyengat. Pikiran apa pun untuk dicoba akan sangat dihargai.

EDIT: Saya ingin memberikan klarifikasi tentang bagaimana / di mana perintah ini dijalankan. Ini dijalankan dari /.atx $, hanya direktori arbitrer, tetapi rincian lebih lanjut di bawah ini.

Saat masuk sebagai nama pengguna biasa brian, saya memiliki terminal terbuka /.atxyang berisi tiga file teks saja jenis konfigurasi. Setiap nama file dimulai dengan a .. Direktori / nama / file-file itu bukan bagian dari paket yang umum, hanya satu set konfigurasi yang sewenang-wenang yang secara pemrograman saya pindahkan. File berisi beberapa info string koneksi server SQL dan hanya ingin mereka semi-dikaburkan.

Brian Jorden
sumber
Tanpa deskripsi direktori tempat Anda berada, saya kira Anda berada di dalam /rootbukan / ketika Anda melakukan ini (dari apa yang saya lihat dalam pertanyaan Anda) yang berarti folder .*glob glob diambil /rootsendiri ( .referensi ke direktori kerja saat ini) bersama dengan semua file / direktori yang dimulai dengan titik terkemuka. Tidak yakin apakah ada cara untuk mengubahnya dari sistem Anda, tetapi Anda mungkin bisa boot dari USB langsung dan membatalkan hal-hal dari sana. Jangan menganggapnya sebagai jawaban 100%, hanya sebuah pemikiran.
Sergiy Kolodyazhnyy
Hargai pemikiran dan umpan baliknya dengan baik dan akan mempertimbangkannya tergantung pada bagaimana hal-hal berjalan. Ini benar-benar konyol .. Saya akan memperbarui teks utama dengan rincian dari mana saya menjalankan perintah dari (bagian dari mengapa saya sangat bingung di sini karena tidak tampak berbahaya pada saat itu)
Brian Jorden
4
Saya akan membuat asumsi bahwa .*dalam perintah Anda diperluas untuk memasukkan .., direktori induk dari direktori tempat Anda berada. Jika Anda berada di, misalnya /home/brianmaka izin /homeakan diatur ke 600 dan Anda tidak akan memiliki izin untuk melihat ke /homedirektori. Bisakah Anda mengeksekusi terminal terbuka Andals -ld /*
Charles Green
2
Anda dapat mencoba mengembalikan izin, lihat askubuntu.com/questions/43621/… . Ada beberapa skrip di sana, tetapi saya memposting metode menggunakan apt-get dari mode pemulihan (yang saya lebih suka skrip) juga, pilihlah. Karena Anda tidak dapat menggunakan sudo, Anda harus boot ke mode pemulihan. wiki.ubuntu.com/RecoveryMode pastikan untuk me-remount / rx (lihat wiki)
Panther

Jawaban:

3

Wah, pemulihan di sini sebenarnya lebih mulus dari yang saya harapkan dan semuanya Tampak dalam kondisi yang cukup baik lagi.

Terima kasih banyak kepada @CharlesGreen untuk penjelasan tentang bagaimana perintah itu memperluas direktori. Juga terima kasih kepada @Panther untuk info tentang masuk ke mode pemulihan untuk masalah yang agak terkait. (jika Anda berdua ingin membagikan kembali komentar Anda sebagai jawaban, saya akan menambahkannya)

Untungnya, tidak seperti posting yang ditautkan, ini tampaknya memiliki perbaikan yang sangat mudah. Tampaknya ketika saya menjalankan sudo chmod 600 .*perintah hanya dari satu direktori di /bawahnya memperluas .*porsi UP ke direktori root yang benar mengubah izin .dari /menyebabkan setiap izin lainnya jatuh.

"Memperbaiki" untuk ini adalah boot ke mode pemulihan, memasang kembali drive sebagai baca / tulis, pergi ke root utama ( cd /), dan kemudian chmod +rx .. Setelah reboot, semuanya tampak kembali normal.

Moral dari cerita ini, menjalankan perintah pada .*setidaknya bisa berdampak pada direktori DI ATAS arus. Saya bermaksud hanya mempengaruhi file yang dimulai dengan .... oops.

Terima kasih banyak untuk semua orang yang berkomentar dan membantu.

Brian Jorden
sumber
1
Ini mungkin memengaruhi direktori induk karena ..cocok dengan .*glob.
Cthulhu
1
Namun alasan lain untuk menggunakan cangkang saner. zsh, misalnya, tidak termasuk .atau ..dalam perluasan .*secara default.
muru
1

"Memperbaiki" untuk ini adalah boot ke mode pemulihan, memasang kembali drive sebagai baca / tulis, pergi ke root utama (cd /), dan kemudian chmod + rx .. Setelah reboot, semuanya tampak kembali ke normal.

Hanya untuk memperjelas bagi pembaca masa depan yang mungkin menemukan ini sebagai jawaban yang diterima, ada kekhawatiran dengan chmod +xsolusi sebagai solusi umum. Pertanyaan spesifik ini tampaknya merupakan direktori home pengguna sehingga beberapa masalah di bawah ini mungkin rendah, tetapi jika ini diterapkan pada server bisnis dan memengaruhi banyak pengguna atau direktori data lainnya, solusinya tidak disarankan.

Di sisi positif , langkah ini akan memungkinkan pengguna untuk mendapatkan kembali akses ke file sehingga mereka dapat disalin ke media cadangan untuk mencegah kehilangan lebih lanjut. Dan pada akhirnya, itulah tujuan utama selama upaya pemulihan data.

Kekhawatiran terbesar adalah bahwa file asli mungkin memiliki izin khusus yang diterapkan yang sekarang hilang. Beberapa program - khususnya ssh - menegakkan izin file untuk memastikan keamanannya lebih lanjut dan tidak akan berfungsi jika +rwizin ditetapkan pada folder dan file-nya.

Kekhawatiran lain adalah jika ini diterapkan pada /folder root ( ) secara rekursif, akan ada file lain yang mungkin terbuka bagi siapa saja di sistem untuk melihat dan memodifikasi. Dalam pengaturan bisnis di mana server mungkin berisi data sensitif (PCI / keuangan, atau informasi kesehatan / HIPAA) akses ini dapat mengarah pada temuan audit dan dampaknya.

Dalam lingkungan pribadi / rumah, pemulihan ini mungkin dapat diterima. Catat saja bahwa beberapa hal mungkin secara diam-diam rusak atau bertindak aneh.

Dalam lingkungan bisnis, menggunakan pemulihan ini untuk mendapatkan kembali akses ke data dapat digunakan, tetapi pada akhirnya setiap perubahan dramatis seperti ini harus diselesaikan dengan menginstal ulang server dan memulihkan dari cadangan.

( Anda punya cadangan saat ini, bukan? ;-) )

dan_linder
sumber
1
Pergi ke depan dan ke atas memilih karena ada beberapa saran / informasi yang umumnya berguna di sini. Dalam situasi khusus saya, saya cukup beruntung bahwa satu-satunya izin yang diubah secara langsung di dalam /dan tidak mengalir secara rekursif ke direktori lain. Juga patut dicatat, ini hanya ada di laptop pribadi saya dan meskipun saya mungkin kehilangan sebagian pekerjaan sehari (belum melakukan git push), itu akan menjadi masalah dan gangguan besar untuk menginstal ulang "pengguna" saya yang terkait aplikasi. Seandainya itu server dalam bentuk apa pun, secara umum saya akan setuju, lebih sedikit waktu dan upaya untuk hanya menghapus / membangun kembali.
Brian Jorden