パーミッションとは違うファイルフラグという概念
さくらサーバーで運用しているサーバーで、ルート直下の「www」ディレクトリをリネームしようとしたのだが、、エラーになってしまう。
% mv www yyy
mv: rename www to yyy: Operation not permitted ←←←エラー
パーミッションを調べるも、パーミッション的には変更できる状態のハズ。
調べていくと、lsコマンドに「ls -oオプション」で確認できるファイルフラグなる概念があるらしい。。
「sunlnk」なるフラグが設定されている
% ls -alo
drwx—— 14 owner group - 512 Oct 5 11:15 .
drwx—r-x 4 owner group sunlnk 512 Oct 5 09:48 www
この「ファイルフラグ」は、パーミッションとは全く別の概念でファイル・ディレクトリに制限をかけることができるようだ。
※参考:https://nxmnpg.lemoda.net/ja/1/chflags
定義されているキーワー一覧(上記参考サイトより抜粋)
ということで、今回のwwwディレクトリは「sunlnk」フラグが設定されているため、スーパーユーザ以外は削除等ができない状態のようだ。。
chflagsコマンド
ファイルフラグの設定には「chflags」コマンドを使うみたい。
例)chflags sunlnk www ←←←ただしスーパーユーザでないとエラーになる。。
ちなみにフラグを無効にする場合は当該キーワードの前に「no」を付ける。
例)chflags nosunlnk www ←←←ただしスーパーユーザでないとエラーになる。。
長いことlinuxを使ってきているが、ファイルフラグは知らなかった。。。
ホームページ制作のこと、ホームページの運営でわからないことや困っていることがありましたら、「株式会社アットライズ」までお気軽にご相談ください。
株式会社アットライズのホームページはこちら