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をパーティションタイプに変更する必要があるかもしれません)
頑張ってください!