/ tmpに対する正しい権限は何ですか?誤ってすべてを再帰的に公開に設定しました。

/ tmpに対する正しい権限は何ですか?誤ってすべてを再帰的に公開に設定しました。

私は何時間も何人かのユーザーと共有したい非常に短い一時ディレクトリを作成しました。/some/path/tmp

sudo chown 777 -R /tmp残念ながら、私は代わりに有効にしたsudo chown 777 -R tmpので、私の/tmpファイルは完全に公開されました。

今は完全に公開されているので、セキュリティ上の問題はありますか?より安全な設定に戻す必要がありますか?正しい権限は何ですか/tmp

ベストアンサー1

一般設定は/tmp1777で、lsで表示されますdrwxrwxrwt。つまり、完全に開いていますが、ファイルの所有者だけを削除できます(これはtディレクトリの追加ビットの意味です)。

モード777を使用する場合の問題は、/tmp他のユーザーが作成したファイルを削除して目的のコンテンツに置き換えることができることです。

ファイルシステムがtmpfsの場合、/tmp再起動するとすべてが復元されます。それ以外の場合はを実行してくださいchmod 1777 /tmp

また、多くの文書を/tmp機密に保つ必要があります。ただし、少なくとも1つのディレクトリは誰でも読むことができなければならず/tmp/.X11-unix、他の同様のディレクトリ(/tmp/.XIM-unixなど)も可能でなければなりません。ほとんどの場合、次のコマンドを使用すると正しく設定されます。

chmod 1777 /tmp
find /tmp \
     -mindepth 1 \
     -name '.*-unix' -exec chmod 1777 {} + -prune -o \
     -exec chmod go-rwx {} +

つまり、すべてのファイルとディレクトリをプライベートに設定します(すべての権限、グループなどを削除します)、誰もがX11ソケットにアクセスできるようにします。これらのソケットへのアクセス制御は、ファイル権限ではなくサーバーによって強制されます。さらされるべき他のソケットがあるかもしれません。find /tmp -type s -user 0世界中からアクセスできるようにするために必要なルート所有ソケットを見つけるには、実行してください。他のシステムユーザーが所有するソケットがあるかもしれません(例えば、システムバスとの通信に使用されます)。ナビゲーションfind /tmp -type s ! -user $UID$UIDユーザーIDがある場所)

おすすめ記事