2011-12-17 6 views
2

私はDebianクラウドサーバをセットアップしました。私は、apache、php、そしてvsftpdをインストールしました。私は、ユーザーを作成し、許可などdebianのデフォルトのファイル権限を変更する

私はファイルをアップロードすると、そのデフォルトのアクセス権がある600を設定し、私は手動で774または775に変更しない限り、私は

ので、ファイルを表示することができない、私は思いますデフォルトのの許可をに変更すると、を/ var/www /にアップロードすると、にアップロードされます。

chmod -R 754 /var/wwwは、そのディレクトリ内のすべてのファイルを774にしますが、アップロードされたすべての新しいファイルのデフォルトのアクセス許可は変更しないことを知っています。

私が学んでいるので、私のユーザーはデモの目的で 'joe'ですので、私もchown -R joe /var/wwwを試しましたが、デフォルトのアクセス権も変更されませんでした。

デフォルトの権限を600から774に変更するにはどうすればよいですか?どのファイルに書き込むべきですか?

答えて

2

umaskを使用してください。詳細情報:http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

+0

ありがとうございます。私はアンマスクをチェックインしたことを言及して、すべてのアンマスクを肯定的な結果なしに変更しました。 – jQuerybeast

+0

正しい構文が得られましたか?それは 'umask'ではなく' uNmask'です –

+0

すみません。まあ、私はその言葉を書きませんでした。私は今までの番号を変更しました – jQuerybeast

1

ディレクトリへのユーザーの書き込みのumaskを変更する必要があります。そしてBTWは、実行権限を必要としないときに設定しません。

umaskは、適用する必要がある権限のネガティブマスクです。デフォルトでは、すべてのファイルは666と777のすべてのディレクトリで作成されます。umaskが002の場合は664と775になります。

umaskを設定する方法は、実際にファイルを書き込むプログラムと、この設定がその構成ファイルで利用可能かどうかを示します。

もう、あまり知られている方法は、アップロードディレクトリにPOSIX ACLを設定するには、次のようになります。このために、あなたは/var/www-dオプションでsetfaclを使用することができます(お使いのOS、およびファイルシステムを提供し、それの両方をサポート)。

+0

こんにちは、ありがとうございます。私はこれが私が探しているものだと思います。以前にunmaskについて調べたところ、/ etc/profileと/etc/proftpd/proftpd.confというファイルを編集しましたが、何も変わりませんでした。チェックインする必要がある他のファイルはありますか? – jQuerybeast

+0

補遺を参照してください: 'setfacl'を試してみてください。 – fge

+0

私も変更されました:/etc/login.defs。申し訳ありませんが補遺は何ですか?そして、私はこれらのタスクをすべて実行した後、何を再起動する必要がありますか? Apache、vsftpd、または何もありませんか? – jQuerybeast

1

あなたのコメントの1つは、proftpdを通じてファイルをアップロードすることを示唆しています。これが当てはまる場合、あなたの質問は本当にそのソフトウェアに特有です。 Bourne ShellなどのBashを使用するすべてのユーザーのデフォルトのumaskを変更するので、/ etc/profileを変更する必要はありません。さらに、ユーザーは実際には/ etc/profileを読み取るためにはシェルに実際にログインしなければなりません。正しく設定されたシステムでは、実際にログインしていないユーザーがデーモンを実行しています。http://www.proftpd.org/docs/howto/Umask.htmlには、proftpdとumasksに関する情報があります。

関連する問題