web-dev-qa-db-ja.com

特定のユーザーに特定のフォルダーとそのコンテンツへのアクセスのみを許可する方法は?

私は使った

adduser <name>

そして、新しいユーザーを作成し、アンドリュー。次に、彼に読み取り/書き込みアクセス権を与えたいと思いますonly to /var/www/sitename.comとその内容。

どうすればいいの?

Sudo chown andrew /var/www/sitename.comを試しましたが、彼はまだ/ var/wwwおよびその他のディレクトリの下にあるすべてのフォルダとファイルを見ることができます。

6

指定されたユーザーの所有権を変更しても、passwdファイルで指定されたユーザーのデフォルトのホームディレクトリは変更されません。とにかく、さまざまな方法でこれを達成できます。しかし、これを簡単にするために、ターミナルを開いてこれを行います。

最初に、以下の/etc/passwdファイルのバックアップを作成します。

Sudo cp /etc/passwd /etc/passwd.back

完了したら、ファイルを(viまたはnanoで)編集します。私はnanoを好みますが、これは非常に簡単です。

Sudo EDITOR=nano vipw /etc/passwd

作成されたユーザーを見つけます。ユーザーがandrewであると仮定すると、行は以下のように反映されるはずです。

andrew:x:1001:1001:andrew:/home/andrew:/bin/sh

/home/andrew/var/www/sitename.comに置き換えて、ヒットしてファイルを保存します CTRL+O 入力して保存し、次に CTRL+X 出る。これにより、ユーザーは指定されたディレクトリに移動します。ユーザーとしてログインし、権限の問題もチェックして、**/var/www/sitename.comを指しているかどうかを確認します。権限の問題が続く場合は、以下を実行してユーザーをwww-dataグループに追加します。

Sudo adduser andrew www-data

EDIT:コメントに関しては、簡単に検索したところ、さらに詳細が見つかりました。さて、/etc/ディレクトリにあるvsftpd.confファイルを編集できます。

Sudo nano /etc/vsftpd.conf

次の行のコメントを解除します(最初にある場合は#のみを削除します)。

chroot_local_user=YES

注:念のため、構成ファイルを変更する前に、構成ファイルのバックアップを作成してください。

Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back

出典:buuntuのvsftpd.conf

それが役に立てば幸い!

5
AzkerM