1. 程式人生 > >Linux環境ftp搭建及問題總結

Linux環境ftp搭建及問題總結

name -s rbo cal www 文件目錄 守護進程 .com bit

環境:centos 7.0

一、安裝軟件

vsftpd - 服務器端

rpm -qa |grep vsftpd

yum -y install vsftpd

ftp 客戶端登錄ftp服務器 或者lftp

yum -y install ftp

二、啟動服務

systemctl restart vsftpd

默認共享目錄為 /var/ftp/pub

三、配置ftp

默認配置文件目錄:/etc/vsftpd/

vsftpd.conf ——vsftpd的核心配置文件

ftpusers ——用戶登陸黑名單

user_list ——用戶登陸白名單:

userlist_deny=no只允許該文件下的用戶登陸

userlist_deny=yes(默認)不允許該文件下的用戶登陸

四、客戶端登錄

終端:ftp 172.20.100.161 -u ftpadmin

網頁:

升級配置:

設置ftp權限 -禁止匿名登錄

將配置文件中”anonymous_enable=YES “改為 “anonymous_enable=NO”

添加ftp賬號

useradd ftpadmin -s /sbin/nologin –d 家目錄(即該用戶的共享目錄) #創建本地禁止登錄用戶,如不存在需要創建並設置共享目錄相應權限

如: chmod -R o+w /var/www/html/

passwd ftpadmin #修改用戶密碼

配置文件常用說明:

anonymous_enable=NO #允許匿名用戶訪問

anon_upload_enable=YES #允許匿名用戶上傳文件並可以創建目錄

anon_mkdir_write_enable=YES

local_enable=YES # 允許本地用戶登錄

local_root=/var/www/html:設置本地用戶的根目錄為/var/www/html

chroot_list_enable=YES:激chroot 功能

chroot_list_file=/etc/vsftpd/chroot_list:設置鎖定用戶在根目錄中的列表文件。此文件存放要鎖定的用戶名 ,使用了chroot需建立/etc/vsftpd/chroot_list 文件,如添加team1 和team2 帳號

設置指定的用戶執行chroot,按照如下方法進行設置:

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

設置後,只有/etc/vsftpd.chroot_list文件中指定的用戶才能夠執行chroot命令。

在使用FTP服務的過程中,可以使該服務在非標準端口(非21端口)工作,不過要完成這項工作,須要使vsftpd服務器運行在獨立啟動方式下,而且要配置vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,將listen_port=10003或者是其他端口號的選項加入該文件即可,然後要重新啟動vsftpd守護進程

常見問題解決:

報錯: vsftpd 530 login incorrect

1.密碼錯誤。

2.檢查/etc/vsftpd/vsftpd.conf配置

vim /etc/vsftpd/vsftpd.con

local_enable=YES

pam_service_name=vsftpd //這裏重要,有人說ubuntu是pam_service_name=ftp,可以試試

userlist_enable=YES

3.檢查/etc/pam.d/vsftpd

vim /etc/pam.d/vsftpd

註釋掉

#auth required pam_shells.so

最後無論哪種情況 重啟試試

sudo service vsftpd restart

基礎命令

進入想要連接的FTP站點後,用戶就可以進行相應的文件傳輸操作了,其中一些重要 的命令及相似的命令 如下:

1、HELP、、RHELP、REMOTEHELP

HELP顯示LOCAL端的命令說明,若不接受則顯示所有可用命令;

?相當於HELP,例如:?CD:

RHELP同HELP,只是它用來顯示REMOTE端的命令說明;

REMOTEHELP相當於RHELP。

2、ASC(ASCll)、bin(BINARY)、IMAGE、TYPE

ASCⅡ切換傳輸模式為文字模式(只能用來傳送DOC文件,因為是7-BIT);

BINARY切換傳輸模式為二進制模式(除文字文件外皆用此模式);

IMAGE相當於BINARY:

TYPE讓你更改或顯示傳輸模式。

3、BYE、QUIT

BYE退出FTP:

QUIT相當於BYE。

4、CD、CDUP、LCD、P~WD、 !

CD改變當前工作目錄,例如:CD\PUB;

CDUP回到上一層目錄,相當於你打CD..:

LCD讓你更改或顯示LOCAL端的工作目錄,例如:LCD\TMP;

PWD顯示的工作目錄(REMOTE端):

!讓你執行外殼命令,例如:!LS。

5、DELETE、MDELETE、RENAME

DELETE刪除REMOTE端的文件:

MDELETE批量刪除文件,需配合?或,*

RENAME更改REMOTE端的文件名。

6、GET、MGET、PUT、MPUT、RECV、SEND

GET下傳文件;

MGET批量下傳文件,需配合萬用字元,例如:MGET*.GZ;

PUT上傳文件;

MPUT批量上傳文件,需配合萬用字元;

RECV相當於GET(RECV為RECEIVE的簡寫):

SEND相當於PUT。

7、HASH、PROMPT、VERBOSE、STATUS、BELL

HASH切換#字號的出現,每一個#字號表示傳送了1024/8192BYTES:

PROMPT切換iNTERACTⅣEON/OFF;

VERBOSE切換所有文件傳輸過程的顯示;

STATUS顯示的一些參數:

BELL當指令做完時會發出叫聲。

8、LS、DIR、MLS、MDIR、MKDIR、RMDIR

LS有點像UNIX下的LS(LIST)命令:

DIR相當於LS-L(LIST-LONG);

MLS只是將遠端某目 錄下的文件存於LOCAL端的某文件裏;

MDIR相當於MLS;

MKDIR像DOS下的MD(創建子目錄)一樣:

RMDIR像DOS下的RD(刪除子目錄)一樣。

9、OPEN、CLOSE、DISCONNECT、USER

OPEN連接某個遠端FTP服務器;

CLOSE關閉連接; DISCONNECT相當於CLOSE;

USER再輸入一次用戶名和口令(有點像UNⅨ下的SU)

Linux環境ftp搭建及問題總結