GNU/Linux >> Belajar Linux >  >> Linux

Linux – Alasan Tidak Jelas Sebuah File Hanya-Baca?

Sistem file Linux tampaknya memiliki lapisan dan lapisan kehalusan yang saya temukan kasus per kasus:

Saya tertarik untuk mengedit file ini:

[[email protected] ~]$ ls -l /a/b/c/foo.bar
-rw-rwxr-x    1 user   user      144529 Jan 26  2018 /a/b/c/foo.bar

Sepertinya itu harus dapat ditulis oleh pengguna user - BENAR? Tetapi ketika saya mencoba mengedit file dalam vim, saya mendapatkan “W10: Warning: Changing a readonly file ” peringatan.

Saya tahu bahwa kemampuan menulis file memiliki ketergantungan pada izin folder yang berisi. Saya pikir folder yang berisi harus memiliki izin eksekusi – benar? Saya menganggap izin direktori yang diperlukan juga meluas hingga / – benar?

Sepertinya saya seperti pohon folder yang berisi file yang dicatat memiliki izin eksekusi:

[[email protected] ~]$ ls -ld /a/b/c/                                                                                    
drwxrwxrwx    2 user   user       36864 Mar  5 17:50 /a/b/c/
[[email protected] ~]$ ls -ld /a/b/           
drwxrwxr-x    4 user   user        4096 Sep 22  2017 /a/b/
[[email protected] ~]$ ls -ld /a/                
drwxrwxr-x    9 user   user        4096 Sep 15  2017 /a/
[[email protected] ~]$ ls -ld /     
drwxr-xr-x   24 root   root           0 Aug 24 10:48 /
[[email protected] ~]$ whoami
user

Sejauh yang saya tahu dari atas, setiap direktori di pohon yang relevan memiliki izin eksekusi. Awalnya, saya curiga apakah itu ada hubungannya dengan / dimiliki oleh root , tetapi memiliki izin eksekusi untuk "orang lain". Plus, jika ada masalah yang terkait dengan / dimiliki oleh root , saya membayangkan saya akan kesulitan menulis file di mana pun di sistem file sebagai pengguna selain root , tapi bukan itu masalahnya.

Adakah yang bisa memikirkan/mengidentifikasi alasan lain mengapa file yang dicatat dianggap hanya-baca?

Jawaban yang Diterima:

Pertama – Anda dengan set bendera yang tidak dapat diubah

chattr -i yourfilename

Jika bendera yang tidak dapat diubah disetel, Anda tidak dapat mengubah file. Ingat bahwa izin tidak menggantikan perilaku itu!

Kedua, periksa apakah direktori tempat file dipasang di disk atau partisi lain , sebagai read only, untuk itu ketik saja:

mount 

(tanpa argumen)

Jika Anda melihat sesuatu seperti direktori Anda di-mount sebagai read-only, ada alasannya! Pasang kembali sebagai baca-tulis untuk mendapatkan keberuntungan!

Ketiga – dan paling umum , Anda baru saja menjalankan sistem file dengan kesalahan , untuk memperbaikinya, Anda harus mencadangkan apa yang Anda bisa, reboot, lalu login dalam mode tunggal dan jalankan:

mount #To determine how the partition is mounted
mount -o remount,ro /dev/sd(yourpartition) directory
fsck.ext4 /dev/sd(yourpartition)

(ext4 mungkin perlu diubah ke tipe partisi Anda)

Semoga Beruntung!

Terkait:Dapatkan waktu pengguna dan kernel dari proses yang berjalan?
Linux
  1. Apa itu pengguna Linux?

  2. Pengantar pemantauan akun pengguna Linux

  3. Linux – Semuanya Adalah File?

  1. Cara memindahkan file di Linux

  2. Memahami Izin File Linux

  3. perintah su Linux

  1. Perintah Ekor Linux

  2. Perintah Sentuh Linux

  3. Perintah Cat di Linux