ファイルのデフォルトのアクセス許可
ファイルを作成すると、デフォルトでファイルにはデフォルトのアクセス許可が設定されます。
# touch 1.txt # ls -l 1.txt -rw-r--r-- 1 root root 0 Sep 13 14:48 1.txt # mkdir abc # ll -d abc drwxr-xr-x 2 root root 4096 Sep 13 14:51 abc
新しく作成されたファイルのアクセス許可が 644、ディレクトリのアクセス許可が 755 であることがわかります。では、この 644 はどこから来たのでしょうか?システムは新しく作成されたファイルにデフォルトの権限を与えることが判明しました。このデフォルトの権限は umask を通じて表示できます。
# umask 0022 # umask -S u=rwx,g=rx,o=rx
umask -S で表示される権限は、新しく作成されたディレクトリのデフォルトの権限です。新しく作成されたファイル タイプがファイルの場合、x 権限を差し引く必要があるため、新しいファイルのデフォルトの権限は次のようになります。 644 (rw -r-xr-x)
umask
umask 770
ファイルの隠し属性を使用してファイルのデフォルトのアクセス許可を変更することもできます
Pagoda を使用したことがあるかどうかはわかりませんが、Pagoda を通じて新しいサイトを作成すると、Pagoda はデフォルトで Web サイトのルート ディレクトリに .user.ini ファイルを作成します。このファイルは非常に奇妙で、root ユーザーであっても削除できません。次のプロンプト メッセージが表示されます:
# rm -f .user.ini rm: cannot remove ‘.user.ini’: Operation not permitted
ここでは、ファイルの隠し属性という別の概念について説明します。なぜ隠し属性と呼ばれるのでしょうか? ls -l を実行しても、このファイルについては何も変わっていないことがわかります。
# ll .user.ini -rw-r--r-- 1 root root 51 Sep 5 18:48 .user.ini
何か奇妙なものを見たい場合は、lsattr を使用してチェックする必要があります。
# lsattr .user.ini ----i--------e-- .user.ini
ここでは、いくつかの文字の意味を覚えておく必要があります。
i は、システムがこのファイルへの変更を許可していないことを意味します。ディレクトリにこの属性がある場合、プロセスはディレクトリ内のファイルを変更することのみができ、ファイルの作成や削除は許可されません。
a は、システムがこのファイルの後にのみデータの追加を許可し、プロセスがこのファイルを上書きしたり切り詰めたりすることを許可しないことを意味します。ディレクトリにこの属性がある場合、システムはこのディレクトリ内でのファイルの作成と変更のみを許可しますが、ファイルの削除は許可しません。
したがって、このファイルを削除したい場合は、その隠し属性を変更する必要があります。それはchattrを通じて行うことができます。
rree以上がLinux システムでのファイルのデフォルトのアクセス許可と隠し属性の役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。