vsftpd伺服器配置虛擬使用者

2022-06-12 21:33:09 字數 3636 閱讀 2148

新建系統使用者vsftpd,使用者目錄為/home/wwwroot, 使用者登入終端設為/bin/false(即使之不能登入系統)

useradd vsftpd -d /home/wwwroot -s /bin/false

所配置的虛擬使用者其實都是對映成配置的宿主使用者。

touch /etc/vsftpd/virtusers
第一行賬號,第二行密碼,注意:不能使用root做使用者名稱,系統保留

vi /etc/vsftpd/virtusers
db_load -t -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

修改/etc/pam.d/vsftpd配置檔案

#%pam-1.0

#session optional pam_keyinit.so force revoke

#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

#auth required pam_shells.so

#auth include password-auth

#account include password-auth

#session required pam_loginuid.so

#session include password-auth

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

注意:如果系統為32位,上面lib64改為lib,否則配置不生效。

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

配置檔名必須為虛擬使用者名稱

touch web1

vi web1

新增以下內容

#設定使用者目錄

#設定上傳檔案的許可權,掩碼表示

anon_umask=022

#其他設定

write_enable=yes

anon_world_readable_only=no

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_othr_write_enable=yes

編輯/etc/vsftpd/vsftpd.conf檔案

anonymous_enable=no //設定不允許匿名訪問 

local_enable=yes //設定本地使用者可以訪問。注:如使用虛擬宿主使用者,在該專案設定為no的情況下所有虛擬使用者將無法訪問

chroot_list_enable=yes //使使用者不能離開主目錄

chroot_list_file=/etc/vsftpd/chroot_list

ascii_upload_enable=yes

pam_service_name=vsftpd //pam認證檔名。pam將根據/etc/pam.d/vsftpd進行認證

##下面的配置在conf中手動新增

guest_enable=yes //設定啟用虛擬使用者功能

guest_username=vsftpd //指定虛擬使用者的宿主使用者

allow_writeable_chroot=yes

user_config_dir=/etc/vsftpd/vuser_conf //設定虛擬使用者個人vsftp的centos ftp服務檔案存放路徑。

systemctl restart vsftpd.service

chkconfig vsftpd on 

設定上傳之後檔案的許可權,有兩種情況:

如果使用vsftp的是本地使用者,則要修改配置檔案中的 local_umask 的值。

如果使用vsftp的是虛擬使用者,則要修改配置檔案中的 anon_umask 的值。

原因在於,從vsftpd_2.3.5版開始,取消了登陸使用者的根目錄的可寫許可權。 

解決辦法1: 

去掉該使用者根目錄的寫的許可權,再新建一目錄,以後用新目錄 

解決辦法2: 

保持舊版的管理策略,ftp使用者根目錄還是可以設定為可寫許可權。 

在vsftpd.conf中新增如下配置

allow_writeable_chroot=yes

anonymous_enable=no # 匿名訪問

local_umask=444 #設定本地使用者的檔案生成掩碼

dirmessage_enable=yes #啟用目錄資訊,當遠端使用者更改目錄時,將出現提示資訊

connect_from_port_20=yes #啟用ftp資料埠的連線請求

xferlog_file=/var/log/xferlog #預設日誌位址

xferlog_std_format=yes #如果啟用,則日誌檔案將會寫成xferlog的標準格式,如同wu-ftpd 一般。預設值為關閉。

chroot_local_user=yes #用於指定使用者列表檔案中的使用者是否允許切換到上級目錄。預設值為no。

chroot_list_enable=no #當chroot_list_enable=no,chroot_local_user=yes時,所有的使用者均不能切換到其他目錄

listen=yes #設定vsftpd伺服器是否以standalone模式執行。以standalone模式執行是一種較好的方式,此時listen必須設定為yes,此為預設值。建議不要更改,有很多與伺服器執行相關的配置命令,需要在此模式下才有效。若設定為no,則vsftpd不是以獨立的服務執行,要受到xinetd服務的管控,功能上會受到限制。

virtual_use_local_privs=no #

anon_world_readable_only=no

listen_ipv6=yes

anon_upload_enable=yes

pam_service_name=vsftpd

userlist_enable=yes

guest_enable=yes

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

vsftpd_log_file=/tmp/vsftpd.log

allow_writeable_chroot=yes

write_enable=yes

vsftpd服務虛擬使用者配置

所謂虛擬使用者就是沒有使用真實的帳戶,但ftp登入需要乙個使用者身份,這個時候我們可以給它建立乙個使用者,專門來給這些虛擬的使用者用ok拉。建立虛擬使用者 useradd d home ftpsite virtual chown virtual.virtual home ftpsite 修改 etc...

vsftpd伺服器配置

vsftpd是非常安全的ftp伺服器程式,在開發linux應用程式中它是乙個非常好的工具。安裝linux系統時一般已經安裝,但需要配置起來作為與開發板進行ftp檔案傳輸的後台服務 器。通過命令可以看到系統中是否已經安裝vsftpd伺服器 rpm q vsftpd vsftpd 2.0.4 1.2 如...

vsftpd配置虛擬使用者

安裝vsftpd yum y install vsftpd 建立本地ftp賬戶 groupadd ftpuser useradd g ftpuser s sbin nologin ftpuser 修改suselinux配置 setsebool p ftp home dir on 建立虛擬使用者的賬戶...