Izin ditolak pada ~ meskipun pemilik terdaftar sebagai saya

13

Entah bagaimana, saya berhasil chmod dan chown saya terlupakan.

Ketika saya mencoba masuk melalui shell, saya mengerti

bash: ~/.bashrc : Permission denied

Bahkan setelah ( sebagai root ) saya sudah menjalankan

chown -hR nroach44 /home/nroach44

dan

chmod -R 666 /home/nroach44

atau ( seperti nroach44 )

chmod -R 644 /home/nroach44

Tidak satu pun dari perintah ini mengembalikan kesalahan.

Juga:

ls -la /home/nroach44

Pengembalian banyak

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

Ada bantuan?

NRoach44
sumber
Terima kasih semuanya! Setiap panduan untuk file apa yang memerlukan izin apa di folder home sekarang? :)
NRoach44
/homeseharusnya drwxrwxr-xdan root:rootdan /home/user rw rw -- or r-tergantung jika Anda ingin pengguna lain membaca file pengguna Anda. Direktori dan file yang dapat dieksekusi dengan x. userDirektori di dalam yang sama tidak akan menjadi masalah jika Anda memiliki grup = pengguna (nroach44: nroach44) seperti yang Anda miliki (saya hanya akan memberikan 0 (---) izin pada orang lain).
laurent

Jawaban:

14
chmod -R 666 /home/nroach44

atau

chmod -R 644 /home/nroach44

Ini akan membuat semua file di direktori home 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 eksekusi ke semua file di folder rumah Anda. Ini harus menyelesaikan masalah langsung Anda, tetapi itu bisa menjadi mimpi buruk keamanan.

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

Javier Rivera
sumber
6
Saya tidak tahu bahwa direktori perlu x izin untuk membuka. Terima kasih!
NRoach44
5

Direktori harus memiliki bit eksekusi yang diatur untuk memungkinkan Anda turun ke direktori. Plain 666salah, bahkan jika Anda menjalankan sebagai root. Ini memberi semua orang izin menulis.

Untuk membuat file lebih aman, jalankan:

chmod -R 640 /home/nroach44

Untuk membuat folder kembali layak, jalankan:

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

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

Lekensteyn
sumber
Saya hanya ingin menguji apakah akan berhasil atau tidak :)
NRoach44
4

Ketika Anda tampaknya memiliki izin yang cukup di ~, Anda harus /homememiliki izin x untuk orang lain ( sudo chmod +rx /home) dan memeriksa apakah izin tersebut sudah ada di /home/nroach44/.bashrcfile.

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

laurent
sumber
Mengetahui mengeksekusi izin diperlukan untuk memasukkan folder pasti menyenangkan untuk diketahui sebelumnya, jadi terima kasih!
NRoach44
Saya tidak tahu modal X+1
Lekensteyn
modal Xsangat berguna dan saya sangat senang menemukannya juga ... setelah lama menggunakan find !!
laurent
1

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

bash: ~/.bashrc : Permission denied

Saya pikir Anda mengubah izin semua file di direktori home Anda, jadi izin bashrc juga berubah.

Izin default skrip ~ / .bashrc adalah

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

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

Jadi sekarang ubah izin skrip bashrc menggunakan chmod ke 644

chmod 644 ~/.bashrc

jika perintah di atas memberi izin ditolak. kemudian

jalankan chown dulu sebagai sudo

sudo chown user1:usergrp ~/.bashrc

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

Sekarang lakukan lagi

chmod 644 ~/.bashrc

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

Rajesh Pantula
sumber
0

Direktori membutuhkan x bit set (untuk direktori yang bit dilihat sebagai bit pencarian) untuk membuka. Jadi saya menggunakan tree jadi saya hanya bisa mengatur folder dan menghindari mimpi buruk memiliki semua file yang ditetapkan sebagai executable (opsi untuk tree adalah -d List directories only.):

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

Peringatan!!! Anda harus mempertimbangkan ini:

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

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

Eduard Florinescu
sumber