CEOブログ

横浜で活躍するホームページ作成・開発会社アットライズの代表取締役社長(CEO)が綴る、日々の奮闘記!!

備忘録

[備忘録]ls -oオプション:ファイルフラグという罠。。

投稿日:2023年10月5日 更新日:

パーミッションとは違うファイルフラグという概念

さくらサーバーで運用しているサーバーで、ルート直下の「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を使ってきているが、ファイルフラグは知らなかった。。。
 
 

-備忘録

関連記事

[備忘録]Gmail:複数アドレスに自動転送する方法

「フィルタ」機能を使う Gmailに届いたメールを、別のメルアドに自動転送するには、通常「メール転送とPOP/IMAP」メニューから転送設定を行うが、この機能だと 1アドレスにしか転送できない。 複数 …

[備忘録]Androidスマホ:Googleアカウントからログアウトする方法

複数アカウントのGoogleカレンダーとかがごっちゃに表示される。。 Androidスマートフォンを使っているが、仕事用/プライベート用など複数のGoogleアカウントでログインすると、例えばGoog …

[備忘録]Linux rmコマンド:日付指定して古いファイルを削除する方法

findコマンドで日付指定 SSHでファイル管理をしている際、「特定の日にちより古いファイルを削除したい」というニーズがある。 rmコマンドでできるか調べていたら、findコマンド、xargsコマンド …

[備忘録]ブラウザに表示されるURLを書き換える方法

メールフォームの重複送信対策 メールフォームの完了メールが重複して何度も送られてくる問題についてはブログ(*1)に書いた。  (*1) [備忘録]メールフォーム:完了メールが何度も送信される問題。。 …

WordPressサーバー移転(1):管理画面にログインできない。。

そう簡単にはいかないシステムのサーバー移転。。 お客様からのご依頼で、他社サーバーで管理していたWordPress(ワードプレス)で構築されたWebサイトを別サーバーに移管することになった。 単なるH …