centosftp伺服器搭建
① 求高手,想在CentOS下面搭個ftp伺服器
一:安裝vsftpd
查看是否已經安裝vsftpd
1.rpm -qa | grep vsftpd
2.#如果沒有,就安裝,並設置開機啟動
3.yum -y install vsftpd
4.chkconfig vsftpd on
二:基於虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設置許可權的目的。虛擬用戶不能登錄CentOS系統。
修改配置文件
打開/etc/vsftpd/vsftpd.conf,做如下配置
1.anonymous_enable=NO #設定不允許匿名訪問
2.local_enable=YES #設定本地用戶可以訪問。註:如使用虛擬宿主用戶,在該項目設定為NO的情況下所有虛擬用戶將無法訪問
3.chroot_list_enable=YES #使用戶不能離開主目錄
4.ascii_upload_enable=YES
5.ascii_download_enable=YES #設定支持ASCII模式的上傳和下載功能
6.pam_service_name=vsftpd #PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
7.以下這些是關於vsftpd虛擬用戶支持的重要配置項,默認vsftpd.conf中不包含這些設定項目,需要自己手動添加
8.guest_enable=YES #設定啟用虛擬用戶功能
9.guest_username=ftp #指定虛擬用戶的宿主用戶,CentOS中已經有內置的ftp用戶了
10.user_config_dir=/etc/vsftpd/vuser_conf #設定虛擬用戶個人vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的11.CentOS FTP服務文件(配置文件名=虛擬用戶名
進行認證
12.chroot_list_file=/etc/vsftpd/vuser_passwd.txt
首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個包。
1.yum install db4 db4-utils
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
1.test
2.123456
接著,生成虛擬用戶認證的db文件
1.db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
隨後,編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
1.auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
2.account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最後,創建虛擬用戶配置文件
1.mkdir /etc/vsftpd/vuser_conf/
2.vi /etc/vsftpd/vuser_conf/test #文件名等於vuser_passwd.txt裡面的賬戶名,否則下面設置無效
3.內容如下
4.local_root=/ftp/www #虛擬用戶根目錄,根據實際情況修改
5.write_enable=YES
6.anon_umask=022 #掩碼
7.anon_world_readable_only=NO
8.anon_upload_enable=YES
9.anon_mkdir_write_enable=YES
10.anon_other_write_enable=YES
設置Selinux(如果你的selinux是開啟的話)
1.setsebool -P ftp_home_dir=1 #設置ftp可以使用home目錄
2.sersebool -P allow_ftpd_full_access=1 #設置ftp用戶可以有所有許可權
設置FTP根目錄許可權
1.mkdir /ftp/www #創建目錄
2.chmod R 755 /ftp
3.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」,下添加:
1.-A INPUT m state --state NEW m tcp p dport 21 j ACCEPT
然後保存,並關閉該文件,在終端內運行下面的命令,刷新防火牆配置:
1.service iptables restart
OK,運行「service vsftpd start」,你就可以訪問你的FTP伺服器了。
配置PASV模式
vsftpd默認沒有開啟PASV模式,現在FTP只能通過PORT模式連接,要開啟PASV默認需要通過下面的配置
打開/etc/vsftpd/vsftpd.conf,在末尾添加
1.pasv_enable=YES #開啟PASV模式
2.pasv_min_port=40000 #最小埠號
3.pasv_max_port=40080 #最大埠號
4.pasv_promiscuous=YES
在防火牆配置內開啟40000到40080埠
1.-A INPUT m state --state NEW m tcp p dport 40000:40080 j ACCEPT
重啟iptabls和vsftpd
1.service iptables restart
2.service vsftpd restart
現在可以使用PASV模式連接你的FTP伺服器了~
常見錯誤:
問題一:
可我按照配置步驟走完一遍後發現每次都是
530 Login incorrect
找來找去才發現我把驗證用的vsftpd.vu創建在了etc的根目錄,而不是/etc/pam.d/vsftpd.vu
問題二:
修改了上面的問題,還是不能登錄,提示我:
500 OOPS:bad bool value in config file for:anon_world_readable_only
google了一把發現有人說是配置文件的末尾不能有空格,打開自己的配置文件一看,不止anon_world_readable_only這一行末尾,整個文件的末尾都有幾個空格。唉,復制粘貼網頁上的配置要謹慎啊。
問題三:
500 OOPS: vsftpd: cannot locate user specified in 'guest_username':aaA
這個問題很奇葩,最後發現是最後大小寫的問題,應該是『aaa』
所以注意一下細節,安裝上面的步驟來是很簡單的
② 買了雲伺服器之後,怎樣才能通過ftp上傳代碼呢
這個非常簡激沒單,只需要搭建一下ftp伺服器,配置一下相關文件,之後就能正常通過ftp命令上傳代碼了,和困下面我簡單介喚鉛念紹一下實現過程,以某雲的伺服器為例(Centos7):
1.首先,安裝ftp伺服器,這個直接在終端運行命令「yuminstall-yvsftpd」就行,如下,大概也就171K左右,很快就能安裝成功:
2.安裝完成後,為了方便演示,這里我們新建一個ftp測試用戶ftp_test,並修改其密碼,如下:
3.接著就是配置ftp伺服器,這里主要修改一下vsftpd.conf文件就行,位於/etc/vsftpd/目錄下,禁止匿名用戶訪問,同時只能訪問自己主目錄,設置參數anonymous_enable和參數chroot_local_user為NO即可(這里可以自定義配置),如下:
4.配置完成後,就是啟動ftp服務,這個直接運行命令「systemctlstartvsftpd」就行,如下,默認啟動的埠是21:
這里我們可以本地測試一下ftp連接,輸入前面創建的ftp_test用戶和密碼,如下,已經成功登陸,並可以查閱文件:
5.最後就是將本地的代碼文件上傳到雲ftp伺服器上,這個ftp連接後,再put上傳就行,如下,非常簡單:
至此,我們就完成了將本地代碼文件上傳到雲ftp伺服器上。總的來說,整個過程非常簡單,最主要的還是搭建ftp伺服器,只要你熟悉一下上面的搭建過程,很快就能成功的,網上也有相關資料和教程,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
③ ftp連接問題,centos7上搭建的ftp伺服器,Linux客戶端能連接,但是win連接不上
伺服器上設置IIS里的FTP服務開啟,設個帳號允許登陸FTP,並且在電腦的D盤或者E盤給某個文件夾設置好允許這個帳號訪問,再在IIS里設置這個帳號的根路徑為那個文件夾。把讓客戶端下載的文件資源放到這個文件夾里。
客戶端打開FTP登陸軟體,輸入伺服器的IP,上面設置好的帳號和密碼,登陸,就可以看到伺服器上的那個文件夾里的東西了。
④ CentOS7文件伺服器的搭建
安裝
yum -y install vsftpd
安裝後修改配置
vi /etc/vsftpd/vsftpd.conf
不允許匿名操作
開啟用戶管理列表
在文件最後面新增allow_writeable_chroot=YES,允許已登錄用戶進行上傳
編輯用戶管理列表
vi /etc/vsftpd/chroot_list
添加ftpuser用戶
mkdir -p /home/ftp
創建ftp的根路徑
useradd -d /home/ftptest -s /sbin/nologin ftpuser
新增用戶並配置為ftpuser用戶的主文件夾
usermod -aG ftp ftpuser
將ftpuser用戶放置在ftp用戶組中
chown ftpuser /home/ftp
修改ftp文件的所屬
passwd ftpuser
修改ftpuser用戶密碼
vi /etc/selinux/config
如圖配置
firewall-cmd --permanent --zone=public --add-service=ftp
開啟ftp服務
firewall-cmd --reload
重載入firewall
systemctl start vsftpd
重啟
systemctl status vsftpd
查看firewall狀態
輸入ftpuser的賬號密碼
文件伺服器ftp文件夾根目錄
⑤ centos5.5系統怎麼安裝ftp服務,在虛擬機中
1. 使用setup菜單完成TCP/IP網路配置;
(1)在命令行運行setup,選擇「Network Configuration」
(2)選擇「eth0(eth0)……」
(3)取消「Use DHCP」
(4)配置IP地址和子網掩碼為192.168.202.5/255.255.255.0,網關為192.168.202.1
(5)一層層退出
(6)運行ifdown eth0禁用乙太網卡
(7)運行ifup eth0啟用乙太網卡並重新讀取配置。
(8)使用ifconfig檢查eth0網卡的IP地址配置。
2. vsftpd伺服器的基本配置
(1)rpm -q vsftpd 察看vsftpd軟體包是否安裝
(2)service vsftpd start 啟動vsftpd伺服器
(3)chkconfig vsftpd on 將vsftpd服務設置為自動啟動
(4)從XP客戶端訪問「ftp://192.168.202.5」
(5)察看vsftpd伺服器的配置文件的預設配置:vi /etc/vsftpd/vsftpd.conf
1)anonymous_enable=YES 允許匿名用戶登錄
2)local_enable=YES 允許本地用戶登錄
3)write_enable=YES 允許寫入(上傳文件、創建目錄)(包含所有用戶)
4)#anon_upload_enable=YES 允許匿名用戶上傳文件,但已被注釋掉
5)#anon_mkdir_enable=YES 允許匿名用戶創建目錄,但已被注釋掉
3. 配置允許匿名用戶上傳的FTP伺服器
(1)vi /etc/vsftpd/vsftpd.conf
(2)去掉上面(4)(5)兩行的注釋
(3)service vsftpd restart
(4)從XP客戶端重新訪問「ftp://192.168.202.5」,上傳一個文件,是否成功?
(5)因為匿名用戶是以ftp帳號訪問FTP伺服器的,主目錄為/var/ftp。(可察看/etc/passwd,找ftp那一行)而「/var/ftp」目錄所屬用戶為root,目錄許可權為drwxr-xr-x,即ftp作為「其他用戶」,沒有寫入許可權,所以不能在「/var/ftp」目錄中創建新文件和新建目錄。
兩種辦法解決這個問題:
4. 辦法1:創建一個屬於ftp用戶的目錄
(1)cd /var/ftp
(2)mkdir up1 創建一個目錄
(3)chown ftp:ftp up1 修改目錄的所屬用戶
(4)ll 查看目錄許可權
5. 辦法2:創建一個屬於root用戶的目錄,但修改目錄許可權為允許其他用戶修改目錄內容
(1)cd /var/ftp
(2)mkdir up2 創建一個目錄
(3)chmod 777 up2 修改目錄的許可權,使「其他用戶」可以修改
(4)ll 查看目錄許可權
6. 繼續配置允許匿名用戶上傳的FTP伺服器
(1)刷新XP客戶端的ftp://192.168.202.5,進入up1或up2目錄,上傳一個文件,能否成功?然後再下載剛上傳的文件,能否成功?
(2)ll /var/ftp/up1或ll /var/ftp/up2,看剛上傳文件的許可權為-rw-------,所屬用戶為ftp
(3)cd /var/ftp/up1或cd /var/ftp/up,chmod 644 上傳的文件名
(4)再次下載文件,就可以了,這是為什麼?
(5)vi /etc/vsftpd/vsftpd.conf,在local_umask=022下面添加:
anon_umask=022,將匿名用戶創建新文件的umask設置為022。
(6)service vsftpd restart
(7)從XP客戶端重新訪問「ftp://192.168.202.5」,這時,上傳、下載都能正常工作了。
⑥ 阿里雲centos7.2安裝ftp伺服器(自身伺服器可以訪問),windows無法訪問,打開不了遠程文件夾
給你訪問目錄下面的文件夾授權,命令如下:chomd-R755文件夾路徑或者chomd-R777文件夾路徑如果你安裝了SELinux,建議關閉;解決方法://使用setsebool命令開啟#setseboolftpd_disable_trans1或者#setseboolftp_home_dir1//再次查看當前狀態是否是on的狀態#getsebool-a|grepftpftpd_disable_trans-->on或者ftp_home_dir-->on//setsebool使用-P參數,無需每次開機都輸入這個命令#setsebool-Pftpd_disable_trans1或者#setsebool-Pftp_home_dir1#servicevsftpdrestart
⑦ centos怎樣設置ftp登錄
ftp許可權配置是比較繁瑣的。
我之前只配置在ubuntu 14.04中配置過,沒在centos 7中配置過,具體過程可以參考下:
一. 為了伺服器的安全,只可以使用ftp登錄,禁止使用telnet與ssh登錄
1,修改/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 blurb. @include common-account @include common-session
@include common-auth #auth required pam_shells.so 注銷下auth required pam_sheels.so驗證
2,修改/etc/vsftpd.conf文件,添加check_shell=NO至vsftpd文件。
3,修改/etc/passwd用戶的shell為false或nologin,重啟/etc/init.d/vsftpd即可. 當然,也可以修改/etc/passwd中wp26:x:1002:1002::/home/vhost/wp26:/bin/false的最後/bin/false為/usr/bin/passwd,讓用戶登錄系統只能夠修改密碼。
二. 設置ftp相關目錄