2011-11-11 22 views
1

PHP/ApacheとproFTPDの両方がファイル/ディレクトリへのフルアクセス権を持つようにユーザ/グループを設定するには?権限 - PHPとFTP

FTPユーザー

webadminとFTPにログインすると、すべてのファイルが一覧表示され
Username: webadmin 
User ID: 1001 
Home dir: /var/www 
Shell: /usr/sbin/nologin 
Primary group: www-data 

Move home dir if changed: yes 
Change user ID on files: home dir 
Change group ID on files: home dir 
Modify user in other modules: yes 

しかし、誰の書き込み権限を持ちます!

+1

システム管理の質問を目的としたserverfault.comの回答が増えるでしょう。私は司会者にそれを報告しました。うまくいけば彼らはあなたのためにそれを動かすでしょう。 – seanhodges

+0

あなたのセキュリティモデルが何であるかわからなくても、答えを出すことはできません。ただし、Webサーバーが実行するグ​​ループによってファイルを書き込むことができると想定すると、モデルに深刻な欠陥があることを意味します。 – symcbean

+0

@symcbeanでは、どのようにユーザー/グループを設定しますか? :) – clarkk

答えて

0

複数のユーザーに何かにアクセス権を与えたい場合は、グループを使用する必要があります。

最初に、必要なウェブのすべてのユーザーが特定のグループのメンバー(おそらくwww-データ)であることを確認します。

usermod -a -G www-data webadmin 

ユーザー 'webadmin'を 'www-data'グループに追加します。

次は、このグループにファイルのグループを変更します。

chgrp -R www-data files/dirs 

再帰的には、WWW-データへのファイル/ディレクトリのグループを設定します。

最後に、そのグループのすべてのメンバーへのフルアクセスを許可するように問題のディレクトリのパーミッションを変更:

chmod -R g+rwx files/dirs 

再帰的にファイル/ディレクトリ

に権限を書き込み、実行、メンバーが読んグループを与えます
+0

'chgrp -R www-data * '何も起こっていません.. FTPにログインすると、所有者はまだ' proftpd'です。 – clarkk

+0

'chgrp -R www-data *'はカレントディレクトリのすべてのグループを再帰的に設定します、または現在のディレクトリ内の隠しファイル)をwww-dataに変換します。 'ls -l'を実行すると、これはグループ権限に反映されるはずです。正しいディレクトリからchgrpコマンドを実行していますか? –