/ etc/passwdに100人以上のユーザーを持つLinuxマルチユーザーサーバーがあります
ユーザーが自分の好みの名前を「予約」/「予約」できるようにします(この場合はサブドメインですが、詳細は関係ありません)
/reservations
というディレクトリを作成し、chmod 777を使用しました。
ユーザーjohndoeがtouch /reservations/coolsite
を実行した場合、彼はその名前「coolsite」を「所有」したいことを示します。
「メカニズム」は、次のように設定する必要があります。
johndoeは後で気が変わり、rm /reservations/coolsite
はその名前の予約を解除します
johndoeが最初に要求したため、別のユーザーはtouch /reservations/coolsite
を許可されていません。
johndoe rm
彼のファイルの場合、別のユーザーがそれを予約できます。
ユーザーはrm / rename / mv / etc
他の人のファイルを
ユーザーjohndoeは、touch /reservations/coolsite && touch /reservations/coolsite2
を実行することにより、複数の予約を持つことができます
これは、ある種の標準的なLinux許可メカニズムを使用して可能ですか?
このためにPerlに頼るのは嫌だと思います。Rubyが彼女の波状のブロンドの髪と一緒になってから、私のPerlスキルが錆びてきました...
ディレクトリ/reservations
を要求するのは、標準の/tmp
ディレクトリの動作です。
すべてのユーザーがそこにファイルを作成でき、そのユーザーのみがそれらを削除または変更できます。これは、許可のt
ビット(別名sticky bit)によって実現されます。その場合、ユーザーは特別な許可やumaskを必要としません。
副<文>この[前述の事実の]結果として、それ故に、従って、だから◆【同】consequently; therefore <文>このような方法で、このようにして、こんなふうに、上に述べたように◆【同】in this manner <文>そのような程度まで<文> AひいてはB◆【用法】A and thus B <文>例えば◆【同】for example; as an example:
chown root /reservations
chmod 1777 /reservations
は、あなたが必要とすることすべてです。 chown root
は、他の(通常の)ユーザーがそのディレクトリをいじるのを防ぐためのものです。 本当に必要ありません。スティッキービットの詳細については、こちらをご覧ください。