vsftpd異なる権限を作成するユーザー
vsftpd異なる権限を作成するユーザー
vsftpdはLinux環境で動作するftpサーバです.ここでは、異なる権限を持つユーザー(管理者、アップロードのみ、ダウンロードのみ)を構成する方法について説明します. admin: をアップロード、ダウンロード、名前変更、削除できます. uploader: のみアップロード可能 downloader: のみダウンロード可能
以下、Ubuntu 18.04を例に挙げる.
Step 1. 必要なパッケージのインストール
Step 2. vsftpdホストユーザーおよびフォルダの作成
ユーザーフォルダを作成するには、次の手順に従います.
ユーザーフォルダの下に、データ転送用の777権限フォルダを作成します.
新規ログイン不可ユーザー
ユーザーパスワードの変更:
Step 3. vsftpd仮想ユーザーリストの作成
作成ファイル
Step 4. pamを変更する.d/vsftpd
修正ファイル
Step 5. 異なるユーザーの権限プロファイルの作成
Step 6. vsftpdプロファイルの変更
クラウドサーバを使用する場合は、20/21ポートをオンにする構成が必要です.
Step 7. vsftpdを使用するためのサービスの再起動
リファレンスリンク vsftpdユーザーを追加し、異なる権限を割り当てる FTPサーバ構築と構成
vsftpdはLinux環境で動作するftpサーバです.ここでは、異なる権限を持つユーザー(管理者、アップロードのみ、ダウンロードのみ)を構成する方法について説明します.
以下、Ubuntu 18.04を例に挙げる.
Step 1. 必要なパッケージのインストール
apt
指令でvsftpd
とdb-util
を取り付けるapt install vsftpd
apt install db-util
Step 2. vsftpdホストユーザーおよびフォルダの作成
ユーザーフォルダを作成するには、次の手順に従います.
mkdir /home/vsftpuser
ユーザーフォルダの下に、データ転送用の777権限フォルダを作成します.
cd /home/vsftpuser
mkdir data
chmod 777 /home/vsftpuser/data
新規ログイン不可ユーザー
vsftpuser
:useradd -s /sbin/nologin -d /home/vsftpuser -M vsftpuser
ユーザーパスワードの変更:
passwd vsftpuser
Step 3. vsftpd仮想ユーザーリストの作成
作成ファイル
vim /home/vsftpd/u_list.txt
(奇数行ユーザー名、偶数行パスワード):admin
adminpassword
uploader
uploaderpassword
downloader
downloaderpassword
db-utils
を使用してユーザー・リスト・ファイルを暗号化し、権限を変更します.db_load -T -t hash -f /home/vsftpd/u_list.txt /home/vsftpd/u_list.db
chmod 600 /home/vsftpd/u_list.db
Step 4. pamを変更する.d/vsftpd
修正ファイル
vim /etc/pam.d/vsftpd
:# Standard behaviour for ftpd(8).
# auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
# Standard pam includes
# @include common-account
# @include common-session
# @include common-auth
# auth required pam_shells.so
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/home/vsftpd/u_list
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/home/vsftpd/u_list
Step 5. 異なるユーザーの権限プロファイルの作成
vim /home/vsftpd/conf/admin
: anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
local_root=/home/vsftpuser
vim /home/vsftpd/conf/downloader
: anon_world_readable_only=NO
local_root=/home/vsftpuser
vim /home/vsftpd/conf/uploader
: write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
download_enable=NO
local_root=/home/vsftpuser
Step 6. vsftpdプロファイルの変更
vim /etc/vsftpd.conf
: listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
connect_from_port_20=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
pam_service_name=vsftpd
#
guest_enable=YES
guest_username=vsftpuser
user_config_dir=/home/vsftpd/conf
ascii_upload_enable=YES
ascii_download_enable=YES
utf8_filesystem=YES
# vsftpd
# ftp
listen_port=21
pasv_enable=YES
pasv_min_port=8700
pasv_max_port=8900
pasv_address=101.101.101.101
pasv_addr_resolve=YES
クラウドサーバを使用する場合は、20/21ポートをオンにする構成が必要です.
Step 7. vsftpdを使用するためのサービスの再起動
/etc/init.d/vsftpd restart
リファレンスリンク