天天看點

CentOS搭建FTP檔案服務的步驟及常用配置設定權限操作

基于 CentOS 搭建 FTP 檔案服務,供大家參考,具體内容如下

系統要求:CentOS 7.2 64 位作業系統

一.安裝VSFTPD

  (vsftpd 是在 Linux 上被廣泛使用的 FTP 伺服器,根據其[官網介紹][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系統下最安全和快速的 FTP 伺服器軟體。)

?

1

yum

install

vsftpd -y

  啟動 VSFTPD(安裝完成後,啟動 FTP 服務)

?

1

service vsftpd start

  啟動後,可以看到系統已經[監聽了 21 端口]:FTP 協定預設使用 21 端口作為服務端口

?

1

netstat

-nltp |

grep

21

此時,通路 ftp://<您的 CVM IP 位址> 可浏覽機器上的 /var/ftp 目錄了。

二.配置FTP 權限

目前 FTP 服務登陸允許匿名登陸,也無法區分使用者通路,我們需要配置 FTP 通路權限

vsftpd 的配置目錄為 /etc/vsftpd,包含下列的配置檔案:

?

1

2

3

vsftpd.conf 為主要配置檔案

ftpusers 配置禁止通路 FTP 伺服器的使用者清單

user_list 配置使用者通路控制

閱讀上述配置以了解更多資訊。如果您準備好了,點選下一步開始修改配置來設定權限。

阻止匿名通路和切換根目錄(匿名通路和切換根目錄都會給伺服器帶來[安全風險],我們把這兩個功能關閉)編輯/etc/vsftpd/vsftpd.conf

?

1

2

3

4

5

# 禁用匿名使用者

anonymous_enable=NO

# 禁止切換根目錄 

匿名通路讓所有人都可以上傳檔案到伺服器上而無需鑒權,而允許切換根目錄則可能産生越權通路問題。

chroot_local_user=YES

重新啟動 FTP 服務:

?

1

service vsftpd restart

三.建立 FTP 使用者

?

1

2

3

4

#建立一個使用者 ftpuser

useradd

ftpuser  

#為使用者 ftpuser 設定密碼

echo

"Password"

|

passwd

ftpuser --stdin

限制該使用者僅能通過 FTP 通路:限制使用者 ftpuser 隻能通過 FTP 通路伺服器,而不能直接登入伺服器

?

1

usermod

-s

/sbin/nologin

ftpuser

為使用者配置設定主目錄

為使用者 ftpuser 建立[主目錄]并約定:

/data/ftp 為主目錄, 該目錄不可上傳檔案

/data/ftp/pub 檔案隻能上傳到該目錄下

?

1

mkdir

-p

/data/ftp/pub

建立登入歡迎檔案:

?

1

echo

"Welcome to use FTP service."

>

/data/ftp/welcome

.txt

設定通路權限:

?

1

chmod

a-w

/data/ftp

&&

chmod

777 -R

/data/ftp/pub

設定為使用者的主目錄:

?

1

usermod

-d

/data/ftp

ftpuser

四.準備域名和證書(雲主機)

,将域名解析到實驗雲主機上,域名設定解析後需要過一段時間才會生效,通過 ping 指令檢查域名是否生效 :如果 ping 指令傳回的資訊中含有你設定的解析的 IP 位址,說明解析成功。

?

1

ping

jikexianfeng.xyz

五.通路 FTP 服務

通過 Windows 資料總管通路:Windows 使用者可以複制下面的[連結]到資料總管的位址欄通路:

?

1

ftp

:

//ftpuser

:[email protected]

通過 FTP 用戶端工具通路:

FTP 用戶端工具衆多,下面推薦兩個常用的:

WinSCP - Windows 下的 FTP 和 SFTP 連接配接用戶端

FileZilla - 跨平台的 FTP 用戶端,支援 Windows 和 Mac

下載下傳和安裝 FTP 用戶端後,使用下面的憑據進行連接配接即可:

主機ip:您的主機ip

使用者:ftpuser

密碼:xoAEUG5c

五、檢視檔案權限的語句: 

  在終端輸入: 

ls -l xxx.xxx (xxx.xxx是檔案名) 

  那麼就會出現相類似的資訊,主要都是這些: 

-rw-rw-r-- 

  一共有10位數 

  其中: 最前面那個 - 代表的是類型 

  中間那三個 rw- 代表的是所有者(user) 

  然後那三個 rw- 代表的是組群(group) 

  最後那三個 r-- 代表的是其他人(other) 

  然後我再解釋一下後面那9位數: 

  r 表示檔案可以被讀(read) 

  w 表示檔案可以被寫(write) 

  x 表示檔案可以被執行(如果它是程式的話) 

  - 表示相應的權限還沒有被授予 

  現在該說說修改檔案權限了 

  在終端輸入: 

  chmod o w xxx.xxx 

  表示給其他人授予寫xxx.xxx這個檔案的權限 

  chmod go-rw xxx.xxx 

  表示删除xxx.xxx中組群和其他人的讀和寫的權限 

  其中: 

  u 代表所有者(user) 

  g 代表所有者所在的組群(group) 

  o 代表其他人,但不是u和g (other) 

  a 代表全部的人,也就是包括u,g和o 

  r 表示檔案可以被讀(read) 

  w 表示檔案可以被寫(write) 

  x 表示檔案可以被執行(如果它是程式的話)

其中:rwx也可以用數字來代替 

  r ------------4 

  w -----------2 

  x ------------1 

  - ------------0 

  行動: 

   表示添權重限 

  - 表示删除權限 

  = 表示使之成為唯一的權限 

  當大家都明白了上面的東西之後,那麼我們常見的以下的一些權限就很容易都明白了: 

  -rw------- (600) 隻有所有者才有讀和寫的權限 

  -rw-r--r-- (644) 隻有所有者才有讀和寫的權限,組群和其他人隻有讀的權限 

  -rwx------ (700) 隻有所有者才有讀,寫,執行的權限 

  -rwxr-xr-x (755) 隻有所有者才有讀,寫,執行的權限,組群和其他人隻有讀和執行的權限 

  -rwx--x--x (711) 隻有所有者才有讀,寫,執行的權限,組群和其他人隻有執行的權限 

  -rw-rw-rw- (666) 每個人都有讀寫的權限 

  -rwxrwxrwx (777) 每個人都有讀寫和執行的權限

作為選擇,我們多數用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他使用者的權限,每位通過4(讀)、2(寫)、1(執行)三種數值的和來确定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的權限

linux 中更改使用者權限和使用者組的指令執行個體;

增權重限給目前使用者 chmod +wx filename

chmod -R 777 /upload

使用者組 chgrp -R foldname zdz

chown -R  所有者使用者名.組名 檔案夾名稱

例如:chown -R  zdz.nginx KooBox

六、ftpusers和user_list兩個檔案各自的用途是什麼?有何關系?

首先請明确一點:ftpusers不受任何配制項的影響,它總是有效,它是一個黑名單!

該檔案存放的是一個禁止通路FTP的使用者清單,通常為了安全考慮,管理者不希望一些擁有過大權限的帳号(比如root)登入FTP,以免通過該帳号從FTP上傳或下載下傳一些危險位置上的檔案進而對系統造成損壞。

而user_list則是和vsftpd.conf中的userlist_enable和userlist_deny兩個配置項緊密相關的,它可以有效,也可以無效,有效時它可以是一個黑名單,也可以是一個白名單!那麼是什麼的設定決定了它的作用呢?這就是問題二要解釋的。

是以簡單總結就是:ftpusers和user_list沒有任何關系,ftpusers檔案總是生效,user_list則取決于userlist_enable和userlist_deny兩項配置。

在xftp中可以右鍵,進行檔案的權限更改。

CentOS搭建FTP檔案服務的步驟及常用配置設定權限操作

轉自:https://www.jb51.net/article/134478.htm 等多篇及部分自己添加

繼續閱讀