ファイルが読み取り専用である理由はわかりませんか?

ファイルが読み取り専用である理由はわかりませんか?

Linuxファイルシステムにはいくつかの階層の微妙な部分があるようですが、特定の状況で偶然に発見しました。

このファイルを編集したいです。

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

ユーザーが書くことができるはずですuser。本当にですか?しかし、vimでファイルを編集しようとすると、W10: Warning: Changing a readonly file警告が表示されます。

ファイルの書き込み可能性は、含まれるフォルダの権限によって決まります。含まれているフォルダに実行権限が必要であると思います。そうですか?私は必要なディレクトリ権限がそこまで拡張されると仮定します/。そうですか?

記録されたファイルのインクルードフォルダツリーに実行権限があるようです。

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

前述のように、関連ツリーのすべてのディレクトリには実行権限があります。最初は/所属と関係があるのか​​と思っていましたが、root「その他」に対する実行権限があります。そして、/所有権関連の問題があれば、rootそのユーザーでなければ、ファイルシステムのどこにもファイルを書き込めないと思いましたが、そうではありませんでしrootた。

表示されたファイルが読み取り専用と見なされる他の理由を考えたり識別したりできる人はいますか?

ベストアンサー1

最初 - 不変フラグを設定しました。

chattr -i yourfilename

immutable フラグが設定されている場合、ファイルは変更できません。権限はこの動作をオーバーライドしないことを覚えておいてください。

第二に、ファイルが配置されているディレクトリが正しいことを確認してください。別のディスクまたはパーティションにインストール、読み取り専用、次のように入力します。

mount 

(パラメータなし)

ディレクトリが読み取り専用でマウントされているようなものが見える場合は、これがまさにその理由です!読み書きで再インストールすると幸運になります!

3番目で最も一般的な、あなたはただファイルシステムエラーこの問題を解決するには、可能なものをバックアップして再起動し、ログインしてシングルモードで実行する必要があります。

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

(ext4をパーティションタイプに変更する必要があるかもしれません)

頑張ってください!

おすすめ記事