雲主機
操做系統:Ubuntu Server 14.04.1 LTS 32位
CPU:1核
內存:1GB
系統盤:20GB(本地磁盤)
數據盤:0GB
公網帶寬:1Mbpshtml
操做系統:windows 8.1linux
官方文檔:如何遠程登陸linux服務器ubuntu
須要特別注意的是,在使用ssh與putty保存session登錄時,有一個坑!
保存的session名稱應避免與用戶名衝突windows
redhat、centos等使用rpm包的發行版:centos
使用命令安裝:yum install vsftpd
使用下載包安裝:rpm -ivh vsftpd*.rpm安全
Debian、Ubuntu等使用DEB包黨的發行版:bash
使用命令安裝:apt-get install vsftpd服務器
若權限不足,則在命令前加 sudo ,下同session
因爲ftp涉及到端口開放的問題,因此咱們把selinux關閉。ssh
selinux的介紹見博文——SELinux深刻理解
ftp命令鏈接使用21端口,數據鏈接則有兩種方式,即主動ftp和被動ftp。詳細見博文——FTP兩種工做模式介紹
通常在redhat、centos等使用rpm包的發行版默認安裝有selinux,而Debian、Ubuntu等使用DEB包的發行版不默認安裝
故對於Debian、Ubuntu等使用DEB包的服務器:
臨時關閉(重啓後,selinux會被打開):setenforce 0
開啓:setenforce 1
永久關閉:修改/etc/selinux/config文件,將SELINUX=enforcing改爲SELINUX=disabled,重啓機器
service vsftpd start/stop/restart
對於服務操做的一些命令:
service [service名] [對service的操做如:start/stop/restart/status]
出於安全考慮,通常不會使用系統用戶來作登錄ftp的操做,於是大部分狀況下會新建一個linux用戶(單純的一個用戶,不具有bash),並用此用戶進行ftp的登錄等操做
對於ftp用戶的管理,其遵循linux的用戶管理,根據/etc/passwd和etc/group來進行管理
新建用戶:
useradd test,passwd test
此處的useradd僅僅只是建立用戶,而可替換爲adduser(建立用戶家目錄\home\test)
兩者具體的區別在useradd 與adduser的區別有介紹
對於vsftpd具體的一些配置可經過修改配置文件來進行實現。
常見的配置文件有:
對於主配置文件,一些經常使用的配置:
anonymous_enable=YES #是否開啓匿名登錄
local_enable=YES #是否容許本地用戶(即linux系統中的用戶賬號)登陸FTP服務器,默認設置爲YES容許
write_enable=YES #是否容許本地用戶對FTP服務器文件具備寫權限,默認設置爲YES容許
一項比較重要的配置:(文字不重要,重點看圖)
用戶登陸FTP服務器後是否具備訪問本身目錄之外的其餘文件的權限
設置爲YES時,用戶被鎖定在本身的home目錄中,vsftpd將在下面chroot_list_file選項值的位置尋找chroot_list文件
必須與下面的設置項配合
chroot_list_enable=YES
被列入此文件的用戶,在登陸後將不能切換到本身目錄之外的其餘目錄
從而有利於FTP服務器的安全管理和隱私保護。此文件需本身創建
chroot_list_file=/etc/vsftpd/chroot_list
關於主配置文件的使用,史上最詳細的vsftpd配置文件講解(1) 這篇文章寫得很詳細
ubuntu不一樣於centos,ubuntu的配置文件目錄不在 /etc/vsftpd/vsftpd.conf 而是在 /etc/vsftpd.conf
購買雲主機的時候,在作最初配置時,有引導安全組的配置。由於以前選了默認的打開「Linux安全組放通22端口」,而沒打開ftp的21端口。
因此,在配置完成ftp服務器時發現只能在服務器上登錄ftp,而經過外網沒法訪問ftp。這是一個比較容易被忽略的問題!(這是一個大坑)
官方文檔:如何配置安全組?
若是啓用chroot,必須保證ftp根目錄不可寫,這樣對於ftp根直接爲網站根目錄的用戶不方便,因此建議假如ftp根目錄是/home/${cjh},則將訪問權限改寫以下
chmod a-w /home/cjh
sudo sh -c "echo a > 1.txt"
避免’sudo echo x >’ 時’Permission denied’
一、qcloud文檔中心, https://www.qcloud.com/doc/product
二、專題:vsftpd入門——安裝、配置、案例與常見問題。玩轉vsftpd服務器的四大高級配置, http://os.51cto.com/art/201008/222036.htm
三、FTP兩種工做模式介紹, http://www.softbar.com/blog/post/117.html
四、SELinux深刻理解, http://blog.csdn.net/myarrow/article/details/9856095/
五、useradd 與adduser的區別, http://blog.csdn.net/deit_aaron/article/details/9984701
五、史上最詳細的vsftpd配置文件講解(1), http://os.51cto.com/art/201008/221842.htm
六、避免’sudo echo x >’ 時’Permission denied’, http://blog.csdn.net/hejinjing_tom_com/article/details/7767127