Pemファイルを使用してFTPで接続すると、問題なく接続され、デフォルトでは次のディレクトリが表示されます:/home/ubuntu
現在、/home/ubuntu
ディレクトリを/var/www/myApplication
に変更しようとしています。私はLinuxを初めて使用するのですが、どのコマンドを使用する必要があるか誰にでもわかりますか?
また、/etc
フォルダにvsftpd
フォルダ/ファイルがないデフォルトのFTPパスを確認するにはどうすればよいですか?
FtpディレクトリはデフォルトでユーザーのHOME
ディレクトリに設定されるため、目標を達成する最も簡単な方法は、新しいユーザーを作成し、HOME
ディレクトリを/var/www/myApplication
に設定することです。
usermod -d /var/www/myApplication/ exampleuser
このディレクトリへのアクセスを制限したい場合は、設定する必要があります
chroot_local_user=YES
vsftpd.conf
で。次に、vsftpdサービスを再起動します。
service vsftpd restart
Unix&Linux:Centos/linuxインストールでのみ特定の/ dir /アクセス権を持つFTPユーザーを作成する方法を参照してください
もっと簡単な方法があるかもしれません、 こちらをご覧ください :
Vsftpdのデフォルトのログインディレクトリを変更するには、
/etc/passwd
のftpユーザーのホームディレクトリを変更します:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false
Ftpユーザー(userID = 116)のホームディレクトリが
/var/vsftpd
に変更されました。これにより、デフォルト/匿名/不明なユーザーが特定の場所(/ var/vsftpd)にアクセスできるようになります。
これをどのように設定したか本当にわかりませんが、vsftpd
をインストールする必要があります。
手順:
インストールvsftpd
:
Sudo apt-get install vsftpd
vsftpd.conf
のバックアップを作成:
Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
ファイアウォールルールの設定:
Sudo ufw allow 20/tcp
Sudo ufw allow 21/tcp
Sudo ufw allow 990/tcp
Sudo ufw allow 40000:50000/tcp
Sudo ufw status
ファイアウォールがない場合は、インストールします。
Sudo apt-get install ufw
Sudo ufw enabe
ユーザーを作成し、ホームディレクトリをこれにします/var/www/ftp/myApplication
ftp
という追加のフォルダを作成します。ユーザーを作成:
Sudo usermod -d /var/www/ftp/myApplication ftpuser
所有権を設定し、次のコマンドで書き込み権限を削除してください
Sudo chown nobody:nogroup /var/www/ftp
Sudo chmod a-w /var/www/ftp
myApplication
フォルダーの所有権をユーザーftpuser
に割り当てます
Sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
セットアップ/etc/vsftpd.conf
以下の構成を追加します。
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
write_enable=YES
# Prevent the FTP-connected user from accessing any files or commands outside
# the directory tree
chroot_local_user=YES
# Add a user_sub_token in order to insert the username in our local_root directory
# path so our configuration will work for this user and any future users that might
# be added
user_sub_token=$USER
local_root=/var/www/ftp
# Set up the configuration so that access is given to a user only when they
# are explicitly added to a list rather than by default
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
ユーザーを作成してuser_listに追加します。
echo "ftpuser" | Sudo tee -a /etc/vsftpd.userlist
daemon
を再起動して、新しい構成をロードします。
Sudo systemctl restart vsftpd
出典: