[Ubuntu + Nginx服務器配置記錄] 一,配置FTP

前言:
公司最近多出來一臺機器想拿來作開發服務器,安裝Ubuntu,轉 Apache + Tomcat。之前沒有接觸過Linux系統,正好用此次機會學習一下。
這篇博客就簡單記錄一下配置的過程,好往後重溫。
開始寫這篇博客的時候,系統已經安裝完,也都配置完FTP、SVN和SSH了,因此不少過程都沒來的級截圖。
由於實在公司寫的,因此有些內容不詳細,往後會逐漸完善。

一, 系統安裝

系統用的是 Ubuntu 14.04 LTS,由於擔憂在網上找不到足夠的資料,同時也出於穩定性的考慮,沒有選最新的16.X版本。shell

圖片描述


系統的安裝網上資料不少,在這裏就不贅述了。安全

二,配置FTP

FTP用的是vsftp。

bash

1.安裝vsftp

Ubuntu上安裝程序的方法很簡單,用root權限運行安裝命令便可。
ctrl + alt + t 運行Terminal, 輸入一下命令。服務器

sudo apt-get install vsftpd

sudo運行的命令會提示要你輸入密碼,按照提示輸入root帳戶的密碼。編輯器

2.配置vsftp

vsftpd.conf

vsftp的配置文件位於 /etc/vsftpd.conf
若是安裝的Ubuntu是Desktop版本,能夠直接用文本編輯器打開並編輯
若是是Server版本,或者想直接在Terminal進行,則:ide

sudo nano /etc/vsftpd.conf

設置相關項目以下:學習

#禁止匿名訪問
anonymous_enable=NO
#接受本地用戶
local_enable=YES
#容許上傳
write_enable=YES
#用戶只能訪問限制的目錄
chroot_local_user=YES
#設置固定目錄,在結尾添加。若是不添加這一行,各用戶對應本身的目錄,固然這個文件夾本身建
local_root=/home/ftp

pam.d/vsftpd

同時還有一個文件就要修改:/etc/pam.d/vsftpdui

sudo nano /etc/pam.d/vsftpd

在這一行的開始加一個‘#’註釋掉spa

#auth required pam_shells.so

這樣能避免用建立的用戶直接登陸ftp報530 login incorrect的問題code

3.添加FTP用戶

沒有組的話要先建立組

sudo groupadd -g 1101 groupftp

1101是組ID,1000以上比較安全,不能與其餘組重複。

添加用戶的命令是:

sudo useradd -d /home/ftp -g groupftp ftpuser
sudo passwd ftpuser

建立用戶使用的是useradd命令,參數中-d是用戶登陸後進入的路徑,-g是用戶組,最後輸入的是建立的用戶的名字
useradd命令的參數還有不少,在這裏只使用這些是爲了對應後期配置多用戶訪問和限制訪問路徑而作的鋪墊,詳細內容我會在寫完那篇文章後在這裏貼上連接。

*注 插入連接

passwd是建立或更改用戶密碼的命令,輸入後會顯示讓你輸入密碼。按照提示輸入便可。

關於用戶訪問文件夾限制

vsftpd.conf文件中 chroot_local_userchroot_list_enablechroot_list_file三個項目是用來控制用戶訪問權限的,轉別人的一段話:

首先,chroot_list_enable好理解,就是:是否啓用chroot_list_file配置的文件,若是爲YES表示chroot_list_file配置的文件生效,不然不生效;

第二,chroot_list_file也簡單,配置了一個文件路徑,默認是/etc/vsftpd.chroot_list,該文件中會填入一些帳戶名稱。可是這些帳戶的意義不是固定的,是跟配置項chroot_local_user有關的。後一條中說明;

第三,chroot_local_user爲YES表示全部用戶都不能切換到主目錄以外其餘目錄,可是!除了chroot_list_file配置的文件列出的用戶。chroot_local_user爲NO表示全部用戶都切換到主目錄以外其餘目錄,可是!除了chroot_list_file配置的文件列出的用戶。也能夠理解爲,chroot_list_file列出的「例外狀況」的用戶。

如今的需求是,但願建立的用戶都只在設定的目錄裏活動,而不能進入其餘目錄,因此咱們 chroot_local_user設爲YES
至於chroot_list_enablechroot_list_file也都設定好,雖然如今尚未須要能全盤ftp的用戶,但若是之後有這樣的需求的話,只要在chroot_list_file設置的文件裏寫入該用戶名就能夠了。要注意chroot_list_file設定的文件裏一行寫一個用戶名。
如此一來咱們的配置以下:

chroot_local_user = YES
chroot_list_enable = YES
chroot_list_file = /etc/vsftpd.chroot_list #該文件能夠任意位置,本身建立便可


調整文件夾權限

chroot_local_user = YES 的狀況下用ftp鏈接會報「500 OOPS: vsftpd: refusing to run with writable root inside chroot()」 。 這是由於chroot的狀況下,根目錄是不容許被用戶更改的,因此不能給根路徑留w權限。

sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data

a表明全部人,-w表示去掉寫的權限, 以後在路徑下再建立一個文件夾,ftp連進來就能夠在data文件夾下寫入文件了。

相關文章
相關標籤/搜索