任意のユーザーに対して書込可能としているディレクトリは、スティッキービットをセットする事が推奨されます。スティッキービットが設定されているか確認し、設定する方法をまとめました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
スティッキービットとは?
〇ファイルに書込み権限を付与していないのに他ユーザに削除されてしまう
・任意のユーザーに対しディレクトリに書込み権限が設定されている場合、そのディレクトリ内にあるファイルはそのファイル所有者以外のユーザーでも削除できてしまいます。
そのファイル自体に書込権限が付与されていなければ書込みは防げるのですが、削除は防ぐ事が出来ません。
そこで、”スティッキービット”をディレクトリにセットするとファイル所有者のみにそのファイルの削除を制限する事が出来ます。
任意のユーザーに書込権限を与えること自体、セキュリティ上好ましくないので、必要ないなら書込み権限を除去する事が望ましいのですが、必要性があって書込み権限を付与する場合はスティッキービットを設定するようにします。
●スティッキービットの設定
# chmod +t /dir
・任意のユーザーに対しディレクトリに書込み権限が設定されている場合、そのディレクトリ内にあるファイルはそのファイル所有者以外のユーザーでも削除できてしまいます。
そのファイル自体に書込権限が付与されていなければ書込みは防げるのですが、削除は防ぐ事が出来ません。
そこで、”スティッキービット”をディレクトリにセットするとファイル所有者のみにそのファイルの削除を制限する事が出来ます。
任意のユーザーに書込権限を与えること自体、セキュリティ上好ましくないので、必要ないなら書込み権限を除去する事が望ましいのですが、必要性があって書込み権限を付与する場合はスティッキービットを設定するようにします。
●スティッキービットの設定
# chmod +t /dir
スティッキービットが設定されているか確認するには?
任意のユーザーに書込権限がありスティッキービットがセットされていないディレクトリを探すには下記を実行します
“PART”の部分には調査対象のパーティションを記述します。
# find “PART” -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
※”-xdev”オプション
他のファイルシステム上のディレクトリは検索しない。
“/”を検索した場合、”-xdev”を指定しないと他のファイルシステムも検索してしまいます。
●実行例
“PART”の部分には調査対象のパーティションを記述します。
# find “PART” -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
※”-xdev”オプション
他のファイルシステム上のディレクトリは検索しない。
“/”を検索した場合、”-xdev”を指定しないと他のファイルシステムも検索してしまいます。
●実行例
①任意のユーザーに書込権限がありスティッキービットがセットされていないディレクトリを探す # find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -exec ls -adl {} \; : drwxrwxrwx 2 root root 4096 Oct 9 12:00 /var/test/test/test ②上記①で"/var/test/test/test"にスティッキービットが設定されていなかったので、スティッキービットを設定 # find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -exec chmod +t {} \; ③再度①を実行し、問題のあるディレクトリが無い事を確認 # find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -exec ls -adl {} \;
-
システム管理
- CentOSのブートの流れ、ランレベルの指定
- CentOS6のrc.sysinitスクリプトの処理内容の概要
- procファイルシステムの概要
- sysctlコマンドでカーネルパラメータの参照、変更
- cron、anacronで自動定期実行
- at、batchコマンドの概要
- CentOS6のシステムログ
- rsyslogの設定方法
- システムログのローテート設定
- CentOSのハードウェア情報を表示するコマンド
- CentOSでパーティション、スワップ、ディスク情報を確認
- LinuxのLVMの概要と表示コマンド
- ボリュームグループ、論理ボリューム作成、ファイルシステム作成、マウント設定、物理ボリュームを追加
- CentOSで論理ボリューム、ext4ファイルシステムを拡張
- CentOSのLVMでボリュームグループから物理ボリュームを削除
- WindowsからCentOS6にリモートデスクトップする手順
- viエディタの使用方法
- HTMLのマニュアルをLinuxのターミナル画面上で読む
- findコマンドで直近に更新されたファイルを調べる方法
- Linuxでディスク使用量が多いディレクトリを調べる方法(1)
- Linuxでディスク使用量が多いディレクトリを調べる方法(2)
- psコマンドで全プロセスを表示する方法と表示結果の見方
- プロセス階層、プロセスグループ、セッションを確認するには?
- psコマンドでスレッドに関する情報を表示するには?
- netstat、nmapを使ってリッスンポートを確認する方法
- vmstatコマンドでシステムの状況をモニター
- シェル変数と環境変数の違い
- CentOSのユーザー環境設定ファイル(bashrc、profile)
- 日本語設定、シェル環境設定
- umaskはどこで設定されている?
- CentOS6の各種ネットワーク設定ファイルとインタフェース制御スクリプト
- CentOS6のTCPラッパーの概要と設定方法
- LinuxのNetworkManagerプロセスの概要
- CentOS6のユーザー管理の概要とコマンド操作
- ファイルのパーミッション設定、ディレクトリは要注意
- Linuxでスティッキービットが設定されているか確認する方法
- sudoで特定のコマンドのみをroot権限で実行する
- RHEL6、CentOS6の64ビットサポートとhuge pages
- RHEL6、CentOS6の64ビットサポートとNUMA
Linuxコマンド操作
シェル環境設定
ネットワーク関連
ユーザー管理、権限
64ビットサポート
-
CentOSの概要
- RHEL6、CentOS6の64ビットサポートとhuge pages
- RHEL6、CentOS6の64ビットサポートとNUMA
- CentOS6インストール手順のメモ
- CentOSのブートの流れ、ランレベルの指定
- procファイルシステムの概要
- sysctlコマンドでカーネルパラメータの参照、変更
- CentOS6の各種ネットワーク設定ファイルとインタフェース制御スクリプト
- cron、anacronで自動定期実行
- at、batchコマンドの概要
- CentOS6のシステムログ
- rsyslogの設定方法
- システムログのローテート設定の確認
- CentOSのハードウェア情報を表示するコマンド
- CentOSでパーティション、スワップ、ディスク情報を確認
- LinuxのLVMの概要と表示コマンド
- ボリュームグループ、論理ボリューム作成、ファイルシステム作成、マウント設定、物理ボリュームを追加
- CentOSで論理ボリューム、ext4ファイルシステムを拡張
- CentOSのLVMでボリュームグループから物理ボリュームを削除
- WindowsからCentOS6にリモートデスクトップする手順
- viエディタの使用方法
- HTMLのマニュアルをLinuxのターミナル画面上で読む
- findコマンドで直近に更新されたファイルを調べる方法
- Linuxでディスク使用量が多いディレクトリを調べる方法(1)
- Linuxでディスク使用量が多いディレクトリを調べる方法(2)
- ディスク使用量が多いディレクトリを抽出するbashスクリプト
- psコマンドで全プロセスを表示する方法と表示結果の見方
- プロセス階層、プロセスグループ、セッションを確認するには?
- psコマンドでスレッドに関する情報を表示するには?
- netstat、nmapを使ってリッスンポートを確認する方法
- 日本語設定、シェル環境設定
- CentOSのユーザー環境設定ファイル(bashrc、profile)
- umaskはどこで設定されている?
- シェル変数と環境変数の違い
- CentOSのネットワークフィルタリング設定を一から行う
- CentOS6のTCPラッパーの概要と設定方法
- CentOS6のユーザー管理の概要とコマンド操作
- ファイルのパーミッション設定、ディレクトリは要注意
- Linuxでスティッキービットが設定されているか確認する方法
- sudoで特定のコマンドのみをroot権限で実行する
システム管理
Linuxコマンド操作
シェル環境設定
ネットワーク関連
ユーザー管理、権限