
■環境
・Cent OS
■状況
・所有者hogeのディレクトリxに対して、スクリプト経由(apacheユーザ権限)でchmodしようとすると、エラーになります
・スクリプト経由(apacheユーザ権限)でディレクトリ作成しようとしても、エラーになります
■質問
・どうすれば良いでしょうか?
・所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか?
・ディレクトリ所有者がhogeであることが問題? apache所有にした方が良い?
・それとも、スクリプト実行を、apacheユーザ権限ではなく、所有者hogeにした方が良い? どうやって?
・そもそもapacheユーザ権限は、一般的にどう設定するものなのでしょうか? rootみたいに最強にする?
No.3ベストアンサー
- 回答日時:
> 所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか?
基本的にはそれでOKですが、それだけではapacheユーザが作成した
ファイルをhogeユーザが変更できなくなってしまうかもしれません。
user=hoge,group=hoge
user=apache,group=apache,groups=hoge
groupは一次グループ、groups2は二次グループです。umask002 (新
規作成されたファイルのパーミッションが775 ) に設定されている
とします。
hogeユーザが作成したファイルはhoge/hoge なので、hogeグループ
に属するapacheユーザは編集可能です。しかし、apacheユーザが新
規作成したファイルはapache/apache になるので、apacheグループ
に属さないhogeユーザは編集できません。
そこで、ディレクトリをhogeユーザで作成し、ディレクトリにsgid
ビットを立てます。
$ chmod 2775 dir
$ ls -l dir
drwxrwsr-x 2 hoge hoge 4096 4月 7 13:35 dir
これで、apacheユーザがdir上に作成したファイルはapache/apache
ではなく、apache/hoge になるので、hogeユーザも編集できるよう
になります。
この回答への補足
回答ありがとうございました
>user=apache,group=apache,groups=hoge
>groupは一次グループ、groups2は二次グループ
・上記の「groups=hoge」と「groups2は二次グループ」の所が理解できません
・「groups2」ではなく「groupsは二次グループ」?
・あるいは、「user=apache,group=apache,groups2=hoge」?
No.2
- 回答日時:
>・一般的には、に書かれている3つは、それぞれ個別に行うのでしょうか?
はい。
>・例えば、「ディレクトリのグループにapacheユーザを追加する」=「ディレクトリの権限をapacheユーザが書き込めるよう変更する」でしょうか? それとも両者は同じ意味ではない?
それぞれの作業の持つ意味は全く異なります。
前者のコマンドはusermod(下の質問のコマンド)、
後者のコマンドはchmodを使います。
>・ディレクトリのグループがhogeだった場合、下記コマンドで合っているでしょうか?
usermod -G hoge apache
上記コマンドは「apacheというユーザをhogeというグループに追加する」作業になります。
それを意図しているなら合っています。
確認ですが、そもそもそのディレクトリにグループの書き込み権限はあるんですよね?
No.1
- 回答日時:
>・そもそもapacheユーザ権限は、一般的にどう設定するものなのでしょうか? rootみたいに最強にする?
もともと親プロセスはroot権限で起動しているはずですが、それが作成する子プロセスをroot権限で動かすのは大変危険です。それを理解した上で、必要ならそうすることも無いとは言えませんが(ブラウザからシステム管理を行う場合等)。
従いまして、一般的には
・ディレクトリの権限をapacheユーザが書き込めるよう変更する
・ディレクトリのグループにapacheユーザを追加する
・SuExecを使用する
で対応します。
それぞれのメリットデメリットについては検索して調べてみてください。
どれを選択するかはその他の条件にもよりますので一概には言えません。
この回答への補足
回答ありがとうございました。
・一般的には、に書かれている3つは、それぞれ個別に行うのでしょうか?
・例えば、「ディレクトリのグループにapacheユーザを追加する」=「ディレクトリの権限をapacheユーザが書き込めるよう変更する」でしょうか? それとも両者は同じ意味ではない?
・ディレクトリのグループがhogeだった場合、下記コマンドで合っているでしょうか?
usermod -G hoge apache
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPでファイルがダウンロードで...
-
Windows10 フォルダ内の自動並...
-
Winmerge ファイルの中身は同じ...
-
嫌ってるのに真似してきたりマ...
-
ファイル名で / (スラッシュ...
-
外字ファイル、eudc.tte と e...
-
onedriveの中身を削除したらパ...
-
教えてください!困ってます。
-
linuxコマンド mkdirでディレ...
-
outlookuの添付ファイルが開け...
-
【文字コード】コピー&ペース...
-
ショートカットアイコンと、元...
-
teratrermを使ったデータの送信...
-
見下されるとかマウント取るとか
-
女子って50分かけてドトールでA...
-
マウントを取る人
-
2台のWindowsでユーザー名を同...
-
ごみ箱から元に戻したのに表示...
-
コピー&ペースト時の文字コー...
-
RHDSetupファイルについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPでファイルがダウンロードで...
-
lsでディレクトリのサイズが409...
-
shellscript内のコマンドを、su...
-
「E212:書込み用にファイルを開...
-
あり得ない!アーカイブを展開...
-
tracについて
-
ファイルが移動できません。
-
SFTPでファイルのアップロード...
-
Ubuntu、ファイル移動によるエ...
-
Webでgif画像が表示されません。
-
ファイル所有者を「apache」へ...
-
RPM のソースパッケージが展開...
-
特定ファイルだけFFFTPでアップ...
-
LinuxのapacheでCGIが動かない
-
OpenSSHでSFTPの接続ができず困...
-
apacheユーザの実行権限設定は...
-
シンボリックリンクでパミッシ...
-
mrtgとは?
-
Solaris 7 の /home について
-
proftpd or vsftpd
おすすめ情報