ftp在linux下實現
0、設置虛擬機通信模式為僅主機模式,和宿主機vmnet1通信,配置服務器IP地址和宿主機vmnet1地址保證在同一網絡中。
#su - root
#vim /etc/sysconfig/network-scripts/ifcfg-xxx
BOOTPROTO=static 修改獲得IP地址方式為static手工配置
ONBOOT=yes 修改值為yes激活網卡
IPADDR=192.168.215.1xx 設置IP
NETMASK=255.255.255.0 設置子網掩碼
GATEWAY=192.168.215.254 設置網關
DNS1=114.114.114.114 設置DNS服務器地址
#systemctl restart network
#ifconfig 或 ip a
#ping 宿主機IP 保證ping通
1、安裝vsftpd服務軟件
1)先進行yum安裝源配置
#mount /dev/cdrom /mnt 每次開機重新執行
#cd /etc/yum.repos.d/
#ls
#rm -rf *
#vim 1.repo
[cdrom]
name=cdrom
baseurl=file:///mnt
enabled=1
gpgcheck=0
#yum list
#yum repolist
2)安裝ftp服務軟件
[root@geweilun ~]#yum -y install vsftpd
[root@geweilun ~]#rpm -q vsftpd
2、主配置文件路徑:
[root@geweilun vsftpd]# vim /etc/vsftpd/vsftpd.conf
思考:從哪些方面配置FTP服務:
1)主目錄設置及添加資源到主目錄
2)站點地址:給ftp站點分配IP地址,默認端口號21?端口號的含義:表示一個進程。
3)對用戶進行身份驗證:
匿名ftp訪問:只能以anonymous或ftp用戶名登陸,密碼為guest
用戶ftp訪問:必須以用戶名和口令來登錄服務器
混合訪問:匿名或以特定用戶來訪問
4)用戶訪問ftp站點目錄下資源的權限設置:讀取、寫入
匿名訪問權限:一般讀取
特定用戶訪問權限:賦予寫入權限
3、設置服務器監聽的ip地址和端口,此配置語句可省略,因為端口默認21,監聽ip地址默認為服務器地址。
listen_address=192.168.215.xxx
listen_port=21
匿名訪問ftp服務配置:
1、匿名用戶訪問ftp服務器,匿名訪問用戶名為 ftp或anonymous,密碼為guest, 匿名用戶訪問主目錄默認為/var/ftp/。在此主目錄下建立文件作為下載資源:
[root@geweilun ~]#cd /var/ftp
[root@geweilun ~]#touch 1.txt
[root@geweilun ~]#mkdir test; touch test/f1
驗證:
1)用下列命令啟動和重啟ftp服務
[root@geweilun ~]#sytemctl start vsftpd 啟動
[root@geweilun ~]# sytemctl restart vsftpd 重啟
[root@geweilun ~]# sytemctl status vsftpd 查看狀態
2)在客戶端匿名訪問ftp站點:
ftp://192.168.251.xxx
ftp://anonymous@192.168.251.xxx
ftp://ftp:guest@192.168.251.xxx
如果訪問不了,關閉防火墻
[root@geweilun ~]# getenforce enforce防火墻狀態
Enforcing
[root@geweilun ~]#setenforce 0 設置為允許訪問
[root@gewei# getenforce
permissive
Permissivelun ~]# systemctl status firewalld firewalld防火墻
[root@geweilun ~]# systemctl stop firewalld
2. 改變匿名用戶訪問的主目錄為自己指定的主目錄:
[root@geweilun ~]#mkdir /opt/ftp //建立指定主目錄
[root@geweilun ~]#touch /opt/ftp/1.doc //建立文件
[root@geweilun ~]#mkdir /opt/ftp/home //建立目錄
3.打開配置文件/etc/vsftpd/vsftpd.conf,在配置文件中通過anon_root屬性指定匿名用戶訪問主目錄:
anon_root=/opt/ftp //添加配置語句
請關注本頭條號,每天堅持更新原創干貨技術文章。
如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習
以CentOS 6為例:
1. vsftp簡介
2. 安裝vsftp套件
[root@zcwyou ~]# yum install vsftpd -y
3. 配置開機自啟
chkconfig是CentOS6上的程序管理工具,CentOS7請使用systemctl
[root@zcwyou ~]# chkconfig vsftpd on
檢查驗證:
[root@zcwyou ~]# chkconfig vsftpd --list | grep vsftpd
chkconfig檢查vsftp服務
4. 防火墻開放端口
如果你的防火墻默認沒有開啟FTP端口,請按以下方法開啟,僅僅適用于CentOS6這類使用iptables防火墻的發行版,CentOS 7與Ubuntu不適用。請轉到本站相關教程。
[root@zcwyou ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT [root@zcwyou ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存防火墻配置:
[root@zcwyou ~]# service iptables save
重啟防火墻配置,馬上生效。
[root@zcwyou ~]# service iptables restart
防火墻放行ftp服務
5. 創建ftp用戶
以用戶ftpuser為例
[root@zcwyou ~]# useradd ftpuser -d /home/ftpuser -s /sbin/nologin
只要使用ftpuser的身份登錄FTP服務,即可讀取以下目錄的內容:
/home/ftpuser/
6. 為ftp用戶設置密碼
以用戶ftpuser為例
[root@zcwyou ~]# passwd ftpuser
輸入兩次一樣的密碼
設置ftp用戶密碼
7. 修改配置文件(可選)
不允許匿名用戶登錄,只能用創建的賬號和密碼登錄。
[root@zcwyou ~]# vi /etc/vsftpd/vsftpd.conf
修改以下內容,默認為YES,即允許匿名用戶登錄,NO表示不允許:
anonymous_enable=NO
禁止匿名用戶登錄ftp
8. 啟動vsftp服務
[root@zcwyou ~]# service vsftpd start
9. 設置SElinux標簽
如果你沒有使用SElinux,不需要配置這步。如果你不清楚自己是否在使用,請按執行以下指令。
查詢SElinux對ftp服務器的相關狀態
[root@zcwyou ~]# getsebool -a | grep ftp
查詢SElinux對ftp服務器的相關狀態
可以看到,默認情況下,SElinux限制了ftp所有的功能
配置SElinux,允許訪問FTP服務:
[root@zcwyou ~]# setsebool -P allow_ftpd_full_access 1
再次檢查:
[root@zcwyou ~]# getsebool -a | grep ftp
確認SElinux放行ftp服務器
10. 測試
使用瀏覽器
使用瀏覽器訪問ftp服務器
或者
使用FTP專用客戶端:
filezilla ftp客戶端
官方下載地址:
https://filezilla-project.org/
下載filezilla客戶端
使用filezilla客戶端登錄ftp
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/fwqdj/56.html
點擊了解更多,快速查看更多的技術文章列表。