MacOSXのアクセス権についての質問です。ネットワークのログインユーザーにreadとwriteは必要なのですが、消去は許可したくありません。このような設定は可能でしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答7件)

id:ramble4fish No.1

回答回数44ベストアンサー獲得回数0

ポイント25pt

http://www.apple.com/jp/support/panther/index.html

アップル - サポート - Mac OS X v10.3 Panther

たぶん、それは無理です。

や、できるのかな…。

writeを許可した時点で、内容を白紙、もしくは、

スペース文字1文字とかたったの1文字とかに

書き換えられたら、それは消去と同じような気がするからです。

なんだか、変な答えですいません…。

僕にもわかりませんが、思った事を回答してみました。

id:telme

普通に考えたらダメそうでずけど。ただ、上書きはOKで削除のみ制御したいんですが。

2004/11/25 21:42:27
id:ymlab No.2

回答回数508ベストアンサー獲得回数34

ポイント25pt

aliasを張り替えるのはどうでしょう。

消去命令そのものを別の命令で置き換えてやる。

alias rm=’echo Cannot Delete it! Terminated.’

とか。

ログインユーザに限定したいのでしたら、

シェルをBashにするとすると、

~/home/[ログインユーザー名]/.bashrc

を開いて、上記命令を加えるとうまく動くと思いますよ。

上記URLにaliasの利用方法についての説明があります。

id:telme

ありがとうございます。参考になりました。UNIX自体まだ初心者なので、すぐには確認できませんが、試してみます。

2004/11/26 00:43:39
id:jogo No.3

回答回数2ベストアンサー獲得回数0

ポイント24pt

Mac OS Xのログインユーザーの管理では、書き込みのみを許可するか、閲覧のみを許可するかreadもwriteも許可するか、すべてのアクセスを許可しないかの4パターンなので、ご質問の「readもwriteも許可」した場合は消去もできてしまうはず・・・・だと思います。

消去を防ぐ手だてはないとしても定期的なバックアップである程度の防御は可・・・?

また、複数ユーザーのアクセス権の管理を行うときにはMac OSX Serverが優れもの。

id:telme

ありがとうございます。やっぱりパーミッションがそれだけの設定しかないのですから、普通に考えたら無理ですよね。前の回答者のymlabさんからシェルのaliasを使うという大変興味深い手法をアドバイス頂いたので、その辺りで試してみます。

2004/11/26 01:19:14
id:kimbara No.4

回答回数638ベストアンサー獲得回数13

ポイント24pt

http://www.kent-web.com/pubc/axsken/

パーミッションについて

Unix系OSではファイルの削除は書き込みと同じ意味を持ちます。従って、削除のみを不許可にすることは不可能です。

aliasによる方法は、ユーザがTerminalでアクセスする場合は有効ですが、Finderでは残念ながら意味をなしません。

どうしてもユーザの不慮の操作に対する削除を制御したいのであれば、代替手段ですが、ファイルのシンボリックリンクを作成するという方法があります。つまり、別のところにあるオリジナルファイルは残しつつ(書き込みはできます)、作成したリンクファイルをユーザに公開し削除を防ぐことができます。

Finderの「ファイル」->「エイリアスを作る」でエイリアスファイルを作成し、作成したそのファイルユーザに公開する場所におきます。

Terminalからの場合は以下の通りです。

作成したい場所にカレントディレクトリを移動します。

% cd <ディレクトリ>

作成したいファイルのシンボリックリンクを作成します。

% ln -s <オリジナルファイルのパス名>

こうすることで、ユーザがそのファイルを削除してもオリジナルファイルは残っていますので、その場合はまたエイリアス又はリンクを作ればよいわけです。

id:otaku_mania No.5

回答回数1ベストアンサー獲得回数0

ポイント24pt

スティッキ−ビットを設定してください。

特定の階層以下すべてを一気に変更するなら

chmod -R 1775 ’ディレクトリ’

id:telme

ありがとうございます。参考になります。

例えば、ゲストに対して読み書きはOKで削除を制限と過程して、スティキーズを設定したデイレクトリを作成しました。(drwxrwxrwt )

確かにこのレイレクトリ自体は、renameおよび、読み書きはOKで削除はできません。しかし、Macのファインダーからネットワーク越しに書き込んだファイルはユーザーがnobodyで-rw-rw-rw- となり、消去ができてしまいます。

根本的な部分で何か間違っていますでしょうか?

それと、前の回答者へ戻ってコメントする方法が分からないのでkimbaraさんへのレスをここに記します。シェルを使った場合terminalのみ有効ということであれば、ダメですね。ファイルのシンボリックリンクを作成するといった手法の場合、ファイルを公開するだけという目的なら、よさそうですが、ファイルサーバとして随時ファイルの書き込みがあるという前提では難しいよう思いますが、いかがでしょうか?

2004/11/26 17:40:13
id:kimbara No.6

回答回数638ベストアンサー獲得回数13

ポイント24pt

otaku_mania様の回答は大正解です。先ほどMac OS X 10.3.6で実験してうまくいくことが確認できました。

Terminalを起動して以下の操作をします。

対象ファイルのあるディレクトリに移動します。

% cd <ディレクトリ>

カレントディレクトリに対して、以下のコマンドでスティッキービットを設定します。

% chmod 1777 .

そのディレクトリにあるゲストに読み書きさせたいファイルの権限を設定します。

% chmod 666 <ファイル名>

以上です。別のマシンからFinderでゲストで接続して、そのファイルに対して読み込みができ、また、ファイルの名前変更/削除ができないことを確認しました。Finderでそのファイルの名前変更あるいは削除をしようとするとエラーダイアログが表示されます。なお、設定したスティキービットは設定したフォルダの下全てのファイルに対して影響しますので、そのフォルダはユーザ書き込み可だけど削除は不可のファイルだけをいれて運用する必要があります。

otaku_mania様に対して感謝するとともに、telme様の質問に対して不完全な回答をしてしまったことお詫びいたします。

id:telme

ありがとうございます。確かにotaku_maniaさんの回答のとおり、スチッキービッとを追加した場合、readとwriteはOKで削除は禁止という項目は果たせます。しかし、私の質問が悪かったのですが、目的はファイルサーバのような形で運用したときに、ユーザーに不用意は削除をさせたくないちょいうことです。

そこで、共有ディレクトリのオーナーにuser1、グループにuserでネットワーク越しのアクセスはuser2で行う。削除はuser1のみで行うという形を望んでいます。

user1 全権限

user2 read+writeはOKで削除NG

group user(user1・user2)

現状では、ネットワーク越しにuser2で書き込んだファイルはuser2で削除できてしまうと思うのですが、いかがでしょうか?

2004/12/03 16:09:01
id:kensaito No.7

回答回数163ベストアンサー獲得回数4

ポイント24pt

URLはダミー。

アクセス権の設定でそのようなことはできるかもしれませんが、アプリケーションによっては正常に動作しなくなる可能性があります。

たとえば、あるアプリケーションがファイルを保存するときに次のような動作するとしましょう。

(1)現在の内容を適当なファイル名で書き込む

(2)古いファイルを削除

(3)(1)で書き込んだファイルのファイル名を変更

このアプリケーションは、(2)でファイル削除に失敗するので結果的にファイルの保存に失敗することになります。

このような動作をするアプリケーションは結構あります(Win版Microsoft Wordは有名)。

ですので、ファイルを消されないようにするよりはファイルを消されても困らない、つまりファイルのバックアップ方法をちゃんと検討した方が良いでしょう。

id:telme

返事が遅くなってすいません。そですね、もう一度、根本から考え直す必要がありますね。

2004/12/03 16:10:55

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません