一、系統環境
1.vmware workstation pro安裝Linux虛擬機
2.Linux:Linux Red Hat Enterprise Linux 7.0
二、配置本地yum源
1.連接
在wmware workstation pro上點擊虛擬機-->設置-->CD/DVD-->使用ISO映像文件-->瀏覽,找到Linux Red Hat Enterprise Linux 7.0的ISO映像文件,然后確定。
2.配置yum本地源
(1)掛在光盤(ISO映像文件)
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
(2)設置開機自動掛載ISO映像文件
df -T #查看ISO文件類型
vi /etc/fstab
#添加一下內容實現開機自動掛載
/usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom iso9660 default,ro,loop 0 0
#ISO所在路徑 掛在到此目錄 文件類型
(3)在/etc/yum.repos.d/目錄下創建一個新的xxx.repo文件,並修改這個文件。這里直接把/media/cdrom里面的media.repo拷貝到/etc/yum.repos.d/目錄
cp /media/cdrom /etc/yum.repos.d/
#修改media.repo文件
vim /etc/yum.repos.d/media.repo
[InstallMedia]
name=Red Hat Enterprise Linux 7.2
baseurl=file:///media/cdrom
eabled=1
mediaid=1446216863.790260
metadata_expire=-1
gpgcheck=1(如果是1就不用設置gpgkey)
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release cost=500
:wq #保存並退出
(4)使用yum命令自動安裝vsftpd服務
yum clean all #清除yum緩存
yum makecache #緩存本地yum源中的軟件包信息
yum install vsftpd #安裝vsftpd
rpm -qa vsftpd #查詢所有安裝httpd的目錄和文件
(5)服務的啟動、停止、重啟和開機自動啟動,以vsftpd為例
systemctl start vsftpd.service #啟動apache
systemctl stop vsftpd.service #停止apache
systemctl restart vsftpd.service #重啟apache
systemctl enable vsftpd.service #設置開機啟動
systemctl status httpd.service #查看vsftpd服務的運行狀態
ps ef | grep vsftpd #查看是否有vsftpd進程
(6)配置vsftpd服務
創建FTP用戶、制定FTP目錄和限制只能FTP連接系統
mkdir /data
useradd ftpuser -d /data -s /sbin/nologin
設置ftpuser用戶的密碼
passwd ftpuser
(7)修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #不允許匿名登陸
local_enable=YES #允許本地訪問
其他按需求修改.保存配置后需要重啟vsftpd服務
(8)配置防火牆允許訪問本機21端口
firewall-cmd --permanent --add-port=21\tcp
firewall-cmd --reload #刷新防火牆列表
firewall-cmd --list-all #查看防火牆列表
systemctl start firwalld.service #啟動防火牆
systemctl stop firwalld.service #停止防火牆
systemctl restart firwalld.service #重啟防火牆
systemctl status firwalld.service #查看防火牆狀態
systemctl enable firwalld.service #設置開機啟動
(9)關閉SELinux
臨時修改selinux狀態
getenfoce #查看selinux狀態
setenfoce 0 #告警狀態
setenfoce 1 #開啟狀態
“永久”修改色linux狀態
vim /etc/sysconfig/selinux
SELINUX=enfocing #開啟selinux
SELINUX=permissive #告警狀態
SELINUX=disabled #關閉selinux
重啟后生效
三、在物理機測試
1.匿名登陸(在修改配置文件前)
運行cmd.exe
ftp ip地址
用戶名是ftp,無密碼;回車后可以登錄
2.用戶名登陸
ftp ip地址
輸入用戶名ftpuser和密碼;回車后可以登錄
3.使用filezilla.exe客戶端測試
輸入ip地址,用戶,密碼和端口
四、FTP操作命令
| ascii |
進入ASCII方式,為傳輸文本文件用。 |
| binary |
進入二進制方式,為傳輸二進制文件用。 |
| cd 目錄名稱 |
改變遠程計算機的工作目錄。 |
| close |
結束FTP與遠程計算機的會話,並且返回FTP命令狀態。運行close命令后,用戶可以與一新的系統連結,或者從FTP中退出。 |
| delete 文件名 |
刪除遠程系統中指定名的文件。 |
| dir 目錄或文件 |
在遠程計算機上,列出全部目錄或文件。 |
| hash |
當每次用get或put命令傳送一個數據塊時,讓FTP顯示一個#。在用戶不確信網絡是否工作時有用。這給你一看得見的確定數據在傳輸的信號。當傳輸很大的文件時,如果FTP已顯示這種信息,表示傳輸正在進行。hash命令是一個布爾變量式的命令,用hash命令打開顯示#開關,再用hash命令關閉顯示。 |
| help 命令 |
顯示出關於此命令的一段幫助文字。 |
| lcd 目錄 |
在本地計算機上將缺少目錄改變為指定的目錄。 |
| ls |
在遠程計算機上列出一短的目錄,參數與dir的相同。 |
| mget 文件列表 |
從遠程計算機上獲得多個文件。文件列表可以是一列用空格分開的文件名。或者經常帶有表達任意文件的*和表達此位置上的任意東西的?的匹配類型結構。 |
| mput 文件列表 |
將多個文件傳送到遠程計算機上。 |
| open |
連接到指定的計算機上,如果你從某個系統傳輸完文件后,想連接到一新的系統上,這時是有用的。你必須首先關閉(close)原來的連接。 |
| prompt |
使用mget或mput時,promput命令讓FTP在傳輸每個文件前提示你確定一下。這樣防止覆蓋已有的文件。當發了promput命令時如果已經啟動了提示,FTP將把提示關掉,此時再傳輸所有的文件時,沒有任何提問。 |
| pwd |
顯示遠程當前目錄的名字。 |
| lcd |
顯示本地計算機當前目錄。 |
| quit |
關閉當前打開的所有連接,並退出FTP。 |
| user |
將用戶名發送到遠程計算機來登錄,當沒有正確地輸入用戶名和口令時,可使用此命令。它可以不用關閉當前連接。 |
| ! |
在UNIX系統中,當運行FTP時,可不退出FTP,直接運行!后鍵入的UXIN命令。 |
| CTRL+C |
中斷FTP命令。 |
