當前位置:首頁 » 編程軟體 » centos編譯vsftpd

centos編譯vsftpd

發布時間: 2023-04-13 02:49:40

⑴ 如何啟動centos的ftp服務啟動失敗報500錯誤,沒有vsftpd.config這個文件

linux一鍵安裝web環境全攻略 工具:update_source.sh 使用sftp功能上傳下載文件 工具:auto_fdisk.sh 手把手教你nginx下如何添加偽靜態 工具:install_vnc_server.sh Redhat5和Centos5安裝vncserver實現圖形化訪問 工具:ECS自動遷移工具 ECS Debian系統sudo命令安裝 ECS Linux系統編譯安裝apache平滑重啟 ECS Linux系統上安裝go語言工具 apache開啟偽靜態模塊 ECS Apache的winnt_accept: Asynchronous AcceptEx failed問題 Mysql事件調度器使用介紹 SUSE安裝軟體出現報錯無法連接公網源地址 ECS Centos 通過 yum whatprovides 查找哪個包提供 SO 動態庫文件 gentoo emerge使用介紹 discuz linux系統安裝教程 ECS Linux SUSE安裝VNC SUSE使用在線安裝zypper install 提示denied ECS linux架設Samba服務 ECS Linux掛載數據盤報錯 ECS centos 6.6編譯安裝nginx ECS Linux伺服器一鍵安裝包的mysql啟動失敗 centos7.0使用yum安裝mysql報錯 ECS Linux NTP手動更新報錯 ECS Linux伺服器安裝LNMP環境 ubuntu安裝報錯Reading package lists... Error! 解決方案 ECS Linux使用一鍵安裝腳本環境後如何更換升級php版本 ECS Centos7 系統安裝圖形化桌面 ECS Linux系統AHM安裝說明 ECS centos7通過yum安裝mysql 5.6 工具:auto_fdisk_ssd.sh ECS Linux 安裝配置openssl ECS CentOS7系統安裝配置iptables防火牆 ECS SUSE10環境下通過YaST安裝軟體 ECS Ubuntu14.04 配置軟體源解決安裝依賴包問題 ECS Linux系統通過filezilla軟體使用ssh協議上傳下載文件 ECS Linux CentOS 6.5安裝桌面環境後桌面環境無法正常啟動 ECS Debian 系統安裝mysql資料庫 ECS Linux一鍵環境包Nginx配置密碼訪問網站 ECS Linux系統yum安裝命令無法找到 ECS Linux一鍵安裝包安裝之後mysql執行命令錯誤 yum update 出現報錯Transaction Check Error: ECS Linux系統安裝配置Tomcat方法 ECS linux 搭建NFS服務實現磁碟共享 ECS ubuntu 14.04 安裝MySQL Server提示mysql-server : Depends: mysql-server-5.5 ECS OpenSUSE 安裝配置vsftpd ECS 內網ubuntu 14.04系統無法安裝openjdk Coreos 增加阿里雲Docker鏡像庫 ECS Linux centos7環境下安裝Mysql資料庫的方法 Linux系統伺服器ftp賬號更改家目錄方式 ECS Linux安裝配置Squid代理服務 Centos7安裝使用wkhtmltopdf實現html頁面轉換成pdf文檔 Netperf網路性能的測量工具介紹 opensuse系統安裝nginx方法 微軟JDBC驅動Bug導致用戶Linux環境連接SQLServer RDS出現異常 ECS Linux伺服器安裝JDK配置java環境

⑵ centos7.2上面怎麼安裝vsftpd

vsftpd是Linux下比較著名的FTP伺服器,搭建FTP伺服器當然首選這個。
本文介紹了在CentOS 6.4下安裝vsftpd、配置虛擬用戶登錄FTP的過程。
正文:
一:安裝vsftpd
查看是否已經安裝vsftpd
rpm -qa | grep vsftpd

如果沒有,就安裝,並設置開機啟動
yum -y install vsftpd
chkconfig vsftpd on

二:基於虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設置許可權的目的。虛擬用戶不能登錄CentOS系統。
修改配置文件
打開/etc/vsftpd/vsftpd.conf,做如下配置
anonymous_enable=NO //設定不允許匿名訪問
local_enable=YES //設定本地用戶可以訪問。註:如使用虛擬宿主用戶,在該項目設定為NO的情況下所有虛擬用戶將無法訪問
chroot_list_enable=YES //使用戶不能離開主目錄
ascii_upload_enable=YES
ascii_download_enable=YES //設定支持ASCII模式的上傳和下載功能
pam_service_name=vsftpd //PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證

以下這些是關於vsftpd虛擬用戶支持的重要配置項,默認vsftpd.conf中不包含這些設定項目,需要自己手動添加
guest_enable=YES //設定啟用虛擬用戶功能
guest_username=ftp //指定虛擬用戶的宿主用戶,CentOS中已經有內置的ftp用戶了
user_config_dir=/etc/vsftpd/vuser_conf //設定虛擬用戶個人vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名

進行認證
首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個包。
yum install db4 db4-utils

然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
test
123456

接著,生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

隨後,編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

最後,創建虛擬用戶配置文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/test //文件名等於vuser_passwd.txt裡面的賬戶名,否則下面設置無效

內容如下
local_root=/ftp/www //虛擬用戶根目錄,根據實際情況修改
write_enable=YES //可寫
anon_umask=022 //掩碼
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

設置Selinux
setsebool -P ftp_home_dir=1 //設置ftp可以使用home目錄
sersebool -P allow_ftpd_full_access=1 //設置ftp用戶可以有所有許可權

設置FTP根目錄許可權
mkdir /ftp/www //創建目錄
chmod R 755 /ftp
chmod R 777 /ftp/www

最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設置777許可權
設置防火牆
打開/etc/sysconfig/iptables
在「-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT」,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 21 -j ACCEPT

然後保存,並關閉該文件,在終端內運行下面的命令,刷新防火牆配置:
service iptables restart

OK,運行「service vsftpd start」,你就可以訪問你的FTP伺服器了。

⑶ linux郵件服務,如何建立虛擬用戶訪問ftp

vsftpd配置虛擬用戶步驟:
tar vsftpd-2.0.6.tar.gz
修改 builddefs.h
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL
#define VSF_BUILD_TCPWRAPPERS
make && make install
復制安裝目錄下的vsftpd.conf到/etc目錄
修改 /etc/vsftpd.conf
#------------------------------
ftpd_banner="welcome to Hanqinet FTP!"
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
guest_enable=YES
#虛擬帳號對應的系統帳號,名稱為ftp
guest_username=ftp
#虛擬用戶的配置文件目錄,具體配置文件為用戶名同名的文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#不允許用戶更改根目錄
#chroot_local_user=YES
#--------------注意
#tcp_wrappers=YES
#pasv_enable=YES
#使用pam驗證,對應與 /etc/pam.d/目錄下的文件名
pam_service_name=vsftpd.pam
max_clients=500
max_per_ip=10
idle_session_timeout=600
data_connection_timeout=120
connect_timeout=60
accept_timeout=60
#設置ftp使用的埠 和防火牆設置有關
pasv_min_port=30000
pasv_max_port=30999
#-----------------------------
安裝目錄下redhat目錄中的vsftpd.pam到/etc/pam.d/
刪除/etc/pam.d/vsftpd.pam中的內容,並插入兩行內容
#-----------------------------
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
#-----------------------------
創建虛擬用戶對應的系統帳號 ftp
groupadd ftp
useradd -d /var/ftp -g ftp ftp
chown root:root /var/ftp
#chmod og-w /var/ftp
創建虛擬用戶配置目錄
mkdir /etc/vsftpd/vsftpd_user_conf
在此目錄下生成對應用戶名的配置文件
例如:
允許上傳、下載、刪除
local_root=/var/www/html/ #對應目錄需要guest用戶有訪問許可權
anon_world_readable_only=NO
write_enable=YES #寫許可權
anon_upload_enable=YES #開啟虛擬用戶上傳許可權
anon_other_write_enable=YES #開啟虛擬用戶刪除許可權
anon_mkdir_write_enable=YES #開啟虛擬用戶寫入和創建許可權
anon_umask=022
下載、上傳,但不能刪除
local_root=/var/www/html/
anon_world_readable_only=NO
#寫許可權
write_enable=YES
#開啟虛擬用戶上傳許可權
anon_upload_enable=YES
#開啟虛擬用戶刪除許可權
anon_other_write_enable=NO
#開啟虛擬用戶寫入和創建許可權
anon_mkdir_write_enable=YES
#開啟虛擬用戶上傳後文件許可權,默認文件是700許可權,022後變為755許可權
anon_umask=022
只下載
local_root=/var/www/html/
anon_world_readable_only=NO
創建虛擬用戶資料庫/etc/vsftpd/vsftpd_login.db
先創建明文數據文件,格式如下
用戶名1
密碼1
用戶名2
密碼2
保存為 vsftp_login.txt
使用db_load生成登錄資料庫文件
db_load -T -t hash -f vsftp_login.txt /etc/vsftpd/vsftpd_login.db
如果系統沒有db_load文件,可在安裝盤的db4-utils-*.rpm中找到
問題,如何刪除虛擬用戶,修改虛擬用戶?
刪除vsftpd_login.db重新生成,對於大量ftp用戶可使用mysql。
啟動vsftpd
/usr/local/sbin/vsftpd /etc/vsftpd.conf &
啟動腳本也可以從rpm包中取得
/etc/rc.d/init.d/vsftpd
make /etc/vsftpd
ln -s /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf
ln -s /usr/local/sbin/vsftpd /usr/sbin/vsftpd
在centos5.4上直接編譯vsftp出現錯誤,無法解決,後來乾脆用yum直接安裝了一個,然後採用系統虛擬用戶的方式,也很方便。
方法如下:
yum install vsftpd
安裝到 /etc/vsftpd/下,系統自動生成ftp用戶,作為匿名登錄用戶。
我的ftp需求,關閉匿名登錄,新增abc用,只允許登錄後下載,所以先創建abc用戶
adser -d /home/abc -g ftp -s /sbin/nologin abc
設置abc的ftp登錄密碼
passwd abc
配置vsftpd.conf,主要內容如下
anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO.
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_address=192.168.1.1
listen_port=21
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
說明: /etc/vsftpd/chroot_list 需手工創建,然後將abc加入其中,確保abc登錄後目錄被鎖定在自己的home中。

⑷ centos搭建ftp服務

一:安裝FTP

輸入vsftpd -v判斷是否安裝成功

啟動/停止/重啟FTP

二:添加ftp用戶

1:創建ftp用戶並設置密碼

2:配置該用戶僅能通過 FTP 訪問

三:FTP配置

1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置並修改或添加

2:配置可以登錄ftp用戶

在/etc/vsftpd/user_list文件中添加可以登錄ftp的用戶:

3:配置ftp用戶登錄後訪問的目錄
在/etc/vsftpd目錄下新建一個userconfig目錄,在userconfig目錄下配置用戶的登錄目錄,例:注意:文件名就是你想要配置的用戶名稱

在vsftpd文件中添加

配置完成後重啟FTP更新配置

四:創建測試目錄及文件

創建目錄

設置訪問許可權:

創建一個測試文件,並在裡面寫上this is test!!!

五:防火牆配置

禁用防火牆或者開啟21埠和30000埠

(1):開啟21埠

530問題

1.cat /etc/passwd,查看你登陸的賬戶主目錄和登陸shell對應的是什麼,我的是/sbin/nologin
用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
2.查看cat /etc/shells是否有你用戶的主目錄和登陸shell,沒有進行添加,保存,退出。

通過其他伺服器鏈接ftp
先安裝ftp指令 yum install ftp
連接 ftp 192.168.6.36

⑸ CentOS7安裝及配置vsftpd-精簡絕版

備註:如果後期想變更此用戶的上傳目錄到
(/run/media/root/xxx/wwwroot/ xxx.org ),
請使用下面的命令:

輸入怎麼想設置的密碼則可。

(1)當我們念啟攜限定了用戶不能跳出其主目錄之後,使用該用戶登錄FTP時往往會遇到這個錯誤:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

(2)從2.3.5之後,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,

則該用戶的主目錄不能再具仔伏有寫許可權了!如果檢查發現還有寫許可權,就會報該錯誤。

要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄

的寫許可權,注意把目錄替換成你自己的。

或者你旁攔可以在vsftpd的配置文件中增加下列一項:

allow_writeable_chroot=YES

(3)使用cmd命令容器發生

500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list錯誤

解決:修改vsftpd.conf配置文件,注釋以下內容

(4)本地使用ftpClient調試是發生

java.net.SocketException: Connection reset異常

解決:在本地電腦執行以下命令

netsh advfirewall set global StatefulFTP disable

# 啟動服務
systemctl start vsftpd.service
# 停止服務
systemctl stop vsftpd.service
# 重啟服務
systemctl restart vsftpd.service
# 服務狀態查看
systemctl status vsftpd.service
# 設置開機啟動
systemctl enable vsftpd

熱點內容
部落沖突好號密碼是什麼 發布:2025-07-15 03:48:45 瀏覽:970
存儲氣瓶 發布:2025-07-15 03:48:10 瀏覽:991
數據解鎖密碼有什麼用 發布:2025-07-15 03:35:27 瀏覽:195
騰訊公認的密碼是多少 發布:2025-07-15 03:34:44 瀏覽:625
代碼txt怎麼改腳本 發布:2025-07-15 03:30:20 瀏覽:288
聲道數增加存儲容量也相應 發布:2025-07-15 03:16:19 瀏覽:271
誇克緩存在哪裡 發布:2025-07-15 03:16:11 瀏覽:708
座機查通話記錄服務密碼是多少 發布:2025-07-15 03:14:46 瀏覽:342
大學gpa演算法 發布:2025-07-15 03:14:45 瀏覽:922
mx5是安卓哪個版本 發布:2025-07-15 03:05:07 瀏覽:59