許可マスクが表示されているディレクトリがありdrwsrwsr-x
ます。755
S へのアクセス許可をリセットしようとすると、まだ残ります。
「s」とは何ですか。また、許可を775(drwxrwxr-x
)に戻すことができないのはなぜですか?
許可マスクが表示されているディレクトリがありdrwsrwsr-x
ます。755
S へのアクセス許可をリセットしようとすると、まだ残ります。
「s」とは何ですか。また、許可を775(drwxrwxr-x
)に戻すことができないのはなぜですか?
回答:
ユーザーおよびグループ列の「実行」位置に表示されるのは、SetUID(実行時にユーザーIDを設定)およびSetGID(実行時にグループIDを設定)ビットです。
Unixファイルのアクセス許可は、実際には4桁の8進数です SUGO
を使用して、ディレクトリからsetuidビットを削除できますchmod ug-s directory
。またはchmod 0755 directory
詳細については、のmanページchmod
、およびこのWikipediaのSetUIDビットに関するページを参照してください。
chmod 0755
少なくともLinuxでは、setuidビットをクリアしません。現在、他のシステムでテストしています。
chmod
、8進モードでsetuid、setgid、およびvtxビットをクリアするかどうかにかかわらず、通常のファイル以外のファイルタイプに対して定義された実装であると言います。
chmod 00755
、;を使用します。参照unix.stackexchange.com/q/393531/46851
setuidおよびsetgid(それぞれ、実行時のユーザーID設定および実行時のグループID設定の略)は、ユーザーが実行可能ファイルの所有者またはグループの権限で実行可能ファイルを実行できるようにするUnixアクセス権フラグです。多くの場合、特定のタスクを実行するために、コンピューターシステム上のユーザーが一時的に昇格した特権でプログラムを実行できるようにするために使用されます。提供される想定のユーザーIDまたはグループIDの特権は必ずしも昇格されるわけではありませんが、少なくとも特定の特権です。
setuidおよびsetgidビットを数値的に削除するには、ビットパターンの前にaを付ける必要があります0
(例:に0775
なります00775
)。
実行してsetuidとsetgidを削除します。
chmod 00775 path
または
chmod a-st path
ooshroの答えに追加...
ディレクトリでsuidまたはsgid権限を使用する場合、そのディレクトリ内で作成されたファイルは、問題のディレクトリと同じ所有者(suidの場合)またはグループ(sgid)を持ちます。
私はそれを自宅のSamba共有に使用しています。ベースディレクトリはユーザーnobodyとグループolympiaによって所有され、パーミッションは2770です。したがって、そのディレクトリの下にあるものを読み書きするためにグループolympiaにいる必要があります。 。また、2770のdirmaskと660のファイルマスクを使用して、ツリーの最後までアクセス許可を正しく保つようにSambaを構成しました。