Pertanyaan Izin ditolak pada ~ meskipun pemilik terdaftar sebagai saya


Entah bagaimana, aku berhasil mengubah dan mencekik ~ ku terlupakan.

Ketika saya mencoba masuk melalui shell, saya mengerti

bash: ~/.bashrc : Permission denied

Bahkan setelah (sebagai root) Saya sudah berlari

chown -hR nroach44 /home/nroach44

dan

chmod -R 666 /home/nroach44

atau (sebagai nroach44)

chmod -R 644 /home/nroach44

Tak satu pun dari perintah ini mengembalikan kesalahan.

Juga:

ls -la /home/nroach44

Mengembalikan banyak

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

Ada Bantuan?


12
2018-01-10 11:53


asal


Terima kasih semuanya! Panduan apa pun ke file apa yang perlu izin apa di folder rumah sekarang? :) - NRoach44
/home seharusnya drwxrwxr-x dan root:root dan /home/user  rw rw -- or r- tergantung jika Anda ingin pengguna lain membaca file pengguna Anda. Direktori dan file yang dapat dieksekusi dengan x. Bagian dalam yang sama user direktori tidak akan menjadi masalah jika Anda memiliki grup = pengguna (nroach44: nroach44) seperti yang Anda tampaknya miliki (saya hanya akan memberikan 0 (---) izin pada orang lain). - laurent


Jawaban:


chmod -R 666 /home/nroach44

atau

chmod -R 644 /home/nroach44

Ini akan membuat semua file di home dir Anda tidak dapat dieksekusi. Itu bukan ide yang bagus;)

Saya tidak tahu cara membersihkan kekacauan ini, sebagai solusi cepat yang dapat Anda coba lakukan sebagai root:

chmod -R 755 /home/nroach44

Perintah ini akan memberikan izin untuk menjalankan semua file di folder rumah Anda. Ini harus menyelesaikan masalah Anda segera, tetapi bisa menjadi mimpi buruk keamanan.

Solusi terbaik adalah membuka akun pengguna lain dan mentransfernya ke file dan pengaturan satu per satu.


13
2018-01-10 12:12



Saya tidak tahu bahwa direktori membutuhkan izin untuk membuka. Terima kasih! - NRoach44


Direktori harus memiliki bit eksekusi yang diatur agar Anda dapat masuk ke direktori. Polos 666 hanya salah, bahkan jika Anda menjalankan sebagai root. Ini memberi izin menulis kepada semua orang.

Untuk membuat file lebih aman, jalankan:

chmod -R 640 /home/nroach44

Untuk membuat folder kembali turun, jalankan:

find /home/nroach44 -type d -exec chmod 750 \;

Catatan: Saya memilih xx0 karena beberapa file mungkin sensitif dan tidak dibaca oleh orang lain. Hanya untuk menyimpan, hapus izin baca / tulis / eksekusi untuk dunia.


4
2018-01-10 12:14



Saya hanya 666 untuk menguji apakah itu akan berhasil atau tidak :) - NRoach44


Ketika Anda tampaknya memiliki izin yang cukup pada ~, Anda perlu /home memiliki izin x untuk orang lain (sudo chmod +rx /home) dan periksa apakah izinnya ok /home/nroach44/.bashrc mengajukan.

Titik lain, direktori harus memiliki izin x untuk memungkinkan masuk di dalamnya sehingga untuk memperbaiki semuanya, Anda harus menjalankannya sudo chmod -R +X /home/nroach44.


3
2018-01-10 12:08



Mengetahui hak akses yang diperlukan untuk memasukkan folder akan terasa menyenangkan untuk diketahui sebelumnya, jadi terima kasih! - NRoach44
Saya tidak tahu modal X +1 - Lekensteyn
modal X sangat berguna dan saya sangat senang menemukannya juga ... setelah sekian lama menggunakan find !! - laurent


Ini karena Anda telah mengacaukan izin dari semua file di folder HOME Anda. Harap berhati-hati saat bermain dengan izin file, gunakan chmod dan chown dengan sangat hati-hati atau Anda bisa berakhir dengan kekacauan.

bash: ~/.bashrc : Permission denied

Saya pikir Anda mengubah izin dari semua file di direktori home Anda, jadi izin bashrc juga harus diubah.

Izin default dari skrip ~ / .bashrc adalah

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

Untuk menjelaskannya, Anda harus memiliki izin baca dan tulis pada file, pengguna lain dari grup pengguna harus dapat membacanya, dan semua orang lain juga dapat membacanya.

Jadi sekarang ubah izin dari skrip bashrc menggunakan chmod ke 644

chmod 644 ~/.bashrc

jika perintah di atas memberikan izin ditolak. kemudian

jalankan chown pertama sebagai sudo

sudo chown user1:usergrp ~/.bashrc

ganti user1 dengan nama pengguna dan usergrp dengan grup pengguna default Anda.

Sekarang lagi lakukan

chmod 644 ~/.bashrc

sekarang Anda akan memiliki izin untuk skrip basrc, sekarang coba masuk dan periksa jika Anda mendapatkan kesalahan lainnya :)


1
2018-01-10 12:04





Direktori membutuhkan x bit set (untuk direktori yang bit dilihat sebagai bit pencarian) untuk dibuka. Jadi saya menggunakan pohon sehingga saya bisa mendapatkan hanya set folder dan menghindari mimpi buruk karena semua file ditetapkan sebagai file yang dapat dieksekusi (opsi untuk pohon adalah -d List directories only.):

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

PERINGATAN!!! Anda harus mempertimbangkan hal ini:

  • menggunakan chmod atau rekursif chown di root / direktori atau direktori sistem akan menghancurkan OS Anda (sebenarnya apa pun yang bersifat rekursif /direktori atau direktori sistem berbahaya)

  • ini bukan praktik keamanan yang baik untuk mengatur izin massal seperti itu


0
2018-01-25 13:58