許可マスクdrwsrwsr-x
で表示されるディレクトリがあります。アクセス許可を755
にリセットしようとすると、Sがまだ残ります。
「s」とは何ですか。また、アクセス許可を775(drwxrwxr-x
)に変更できないのはなぜですか。
ユーザーとグループの列の「実行」位置に表示されるsは、SetUID(実行時にユーザーIDを設定)ビットとSetGID(実行時にグループIDを設定)ビットです。
Unixファイルのアクセス許可は、実際には4桁の8進数ですSUGO
chmod ug-s directory
、またはchmod 0755 directory
を使用して、ディレクトリからsetuidビットを削除できます。
詳細については、chmod
のマニュアルページ、および このWikipediaのSetUIDビットに関するページ を参照してください。
setuidとsetgid(それぞれ実行時のユーザーID設定と実行時のグループID設定の略)は、ユーザーが実行可能ファイルの所有者またはグループの権限で実行可能ファイルを実行できるようにするUnixアクセス権フラグです。これらは、コンピューターシステムのユーザーが特定のタスクを実行するために一時的に昇格した特権でプログラムを実行できるようにするためによく使用されます。想定されるユーザーIDまたはグループIDの特権は常に昇格されるわけではありませんが、少なくともそれらは特定のものです。
数値でsetuidビットとsetgidビットを削除するには、ビットパターンの前に0
を付ける必要があります(例:0775
は00775
になります)。
Setuidとsetgidを削除するために実行します。
chmod 00775 path
または
chmod a-st path
Ooshroの回答に追加しています...
ディレクトリでsuidまたはsgid権限を使用する場合、そのディレクトリ内に作成されたすべてのファイルは、問題のディレクトリと同じ所有者(suidの場合)またはグループ(sgid)を持ちます。
私はそれを自宅のSamba共有に使用します。ベースディレクトリはユーザーnobodyおよびグループolympiaが所有し、権限は2770です。そのため、そのディレクトリの下にあるものを読み書きするには、グループolympiaに属している必要があります。 。また、Sambaで2770のdirmaskと660のfilemaskを使用して、権限をツリー全体で正しく保つように構成しています。