linux 安裝 ftp 實現文件共享

轉載:http://blog.sina.com.cn/s/blog_165e646820102xe1q.htmlhtml

參考:
一、http://www.cnblogs.com/mrcln/p/6179673.html
二、http://www.cnblogs.com/orzlin/p/5600529.html
三、linux下ftp配置文件詳解:http://www.cnblogs.com/mrcln/p/6189665.html

linux

1.切換到root用戶vim

2.查看是否安裝vsftp,我這個是已經安裝的。centos

[root@localhost vsftpd]# rpm -qa |grep vsftpd
vsftpd-3.0.2-11.el7_2.x86_64

3.若是沒有發現,則安裝。安全

yum install vsftpd* -y

4.啓動vsftpd服務,以及重啓命令(centos7.0以上版本)服務器

[root@localhost vsftpd]# /bin/systemctl start vsftpd.service
[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service

低版本試一下這些命令:tcp

/etc/init.d/vsftpd restart
啓動ftp命令  #service vsftpd start

中止ftp命令  #service vsftpd stop

重啓ftp命令  #service vsftpd restart

設置自啓:chkconfig vsftpd on工具

5.測試一下可否登陸FTP了,先安裝一個ftp客戶端組件。post

yum -y install ftp 

嘗試登陸一下測試

ftp localhost 

輸入用戶名ftp,密碼隨便(由於默認是容許匿名的)

登陸成功,就表明ftp服務可用了。

可是,外網是訪問不了的,因此還要繼續配置。

6.取消匿名登陸

vi /etc/vsftpd/vsftpd.conf

把第一行的 anonymous_enable=YES ,改成NO

重啓

[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service

7.建立一個組,用於存放ftp用戶

groupadd ftpgroups

8.建立ftp用戶,並加入ftpgroups組,/home/ftp是本身建的目錄,不存在就本身建立一個

useradd -d /home/ftp/ftptest -g ftpgroups ftptest

設置密碼

passwd ftptest

設置不容許用於用戶登陸

usermod -s /sbin/nologin ftptest

 

能夠看到已經建好了

[root@localhost vsftpd]# ls /home/ftp
ftpn  ftptest

這時候重啓一下vsftpd服務

/bin/systemctl restart vsftpd.service

登陸一下看,能夠登陸了,可是發現也能訪問上層目錄,甚至根目錄,這不是咱們但願的,修改一下配置文件讓其只能訪問自身目錄

vi /etc/vsftpd/vsftpd.conf

以下設置

chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

另外,從2.3.5以後,vsftpd加強了安全檢查,若是用戶被限定在了其主目錄下,則該用戶的主目錄不能再具備寫權限了!若是檢查發現還有寫權限,就會報該錯誤。

 要修復這個錯誤,能夠用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你本身的。或者你能夠在vsftpd的配置文件中增長下列項:

 allow_writeable_chroot=YES

 

好了,這樣就只能訪問自身所屬目錄。

若是但願某個用戶能夠訪問根目錄,把用戶名加入

/etc/vsftpd/chroot_list

不存在就建立這個文件,一行一個用戶名。

 

若是仍是登錄不了ftp,那頗有多是selinux的問題,這個東西把他關掉就行

vi /etc/selinux/config

SELINUX=enforcing 設置成SELINUX=disabled

 

重啓一下服務器

reboot

重啓完了別忘了把vsftpd服務打開,默認是自啓的。

 

若是鏈接不上,極可能是防火牆阻止了,嘗試關閉防火牆

systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
firewall-cmd --state #查看默認防火牆狀態(關閉後顯示notrunning,開啓後顯示running)

 

若是出現遠程文件夾沒法顯示的狀況,請使用主動模式鏈接,在你的ftp工具上設置。

 

linux服務器修改ftp默認21端口方法

一、登陸服務器,打開vsftp.conf文件

# vim /etc/vsftpd/vsftpd.conf

二、在文件末尾增長listen_port=8021

#remote_charset=CP1251
#
# Enable this options if you have double "я"
#
#double_377=0
listen_port=8021

三、打開/etc/services文件

# vim /etc/services

四、找到ftp選項並將21修改爲你設置的端口,本文爲8021

# 21 is registered to ftp, but also used by fsp
ftp             8021/tcp
ftp             8021/udp          fsp fspd

五、重啓vsftp服務

# /etc/init.d/vsftpd restart

六、使用netstat -utlpn | grep vsftp命令查看設置的端口,確認是否成功

# netstat -utlpn | grep vsftp
tcp        0      0 0.0.0.0:8021                0.0.0.0:*                   LISTEN      23619/vsftpd

 注:實驗須要修改端口號,關閉selinux ,實現ftp訪問。

相關文章
相關標籤/搜索