Linux下安裝FTP服務器及配置方法

本文操作以ubuntu16.0.4版本爲例

安裝

apt-get install vsftpd

配置

安裝完成後,默認會啓動vsftpd服務,配置文件: /etc/vsftpd.conf

匿名訪問

修改配置文件:anonymous_enable=YES

訪問地址: ftp://ip

指定帳戶訪問
  • 創建賬戶和用戶主目錄

#先創建ftp目錄
$ sudo mkdir /home/ftpdir
#添加用戶 設置ftp目錄爲用戶的主目錄
$ sudo useradd -d /home/ftpdir -s /bin/bash ftpuser
#設置ftpuser用戶密碼
$ sudo passwd ftpuser
#設置ftp目錄用戶權限
$ sudo chown ftpuser:ftpuser /home/ftpdir

  • 添加vsftpd 登錄用戶

#新建文件/etc/vsftpd.user_list,用於存放允許訪問ftp的用戶:
$ sudo touch /etc/vsftpd.user_list
$ sudo vim /etc/vsftpd.user_list
添加:ftpuser 保存後退出

  • 修改vsftpd配置文件

#拒絕匿名登錄
anonymous_enable=no
#允許更改文件系統 只讀就設置爲no
write_enable=YES
#啓用日誌 詳細說明上載和下載
xferlog_enable=YES
#輸出日誌文件的名稱
xferlog_file=/var/log/vsftpd.log
#日誌文件以xferlog格式寫入
xferlog_std_format=YES
#YES時限定用戶只能訪問主目錄
chroot_local_user=YES
#YES是作爲例外列表,可以訪問主目錄外的文件 https://blog.csdn.net/bluishglc/article/details/42398811
chroot_list_enable=YES
#包含本地用戶列表文件的名稱
chroot_list_file=/etc/vsftpd.chroot_list
#設置vsftp文件系統格式utf-8
utf8_filesystem=YES
配置信息查詢:http://vsftpd.beasts.org/vsftpd_conf.html

  • 重啓啓動vsftps服務

service vsftpd restart

  • 訪問 ftp://ip
    出現登錄頁面:輸入用戶名/密碼:ftpuser/ftpuser. 即可

擴展

  • 修改用戶的主目錄

mkdir /home/ftpdir2
usermod -d /home/ftpdir2 ftpuser

通過ftp訪問時,顯示的內容爲ftpdir2目錄下內容

  • 一個用戶多個目錄權限
    實現思路是通過文件掛載的方式

你需要的是 訪問的目錄,/data/a ,/data/b
將 vsftpd.conf 中local_root=/home/ftpdir
mkdir /home/ftpdir
mkdir /home/ftpdir/a
mkdir /home/ftpdir/b
將這幾個目錄的權限chown 給你需要設置的ftp用戶,chmod給與權限
#mount –bind是將一個目錄中的內容掛載到另一個目錄上
mount –bind -a rw /data/a /home/ftpdir/a
mount –bind -a rw /data/b /home/ftpdir/b

  • 訪問權限的控制

有兩類權限控制
一種是在vsftpd配置文件中 write_enable控制是否只讀,這種權限控制粒度比較大.影響所有的ftp用戶
另一種用戶對目錄的操作權限控制 單用戶目錄權限控制

講解

FTP兩種工作模式:主動模式(Active FTP)和被動模式

在主動模式下,FTP客戶端隨機開啓一個大於1024的端口N向服務器的21號端口發起連接,然後開放N+1號端口進行監聽,並向服務器發出PORT N+1命令。服務器接收到命令後,會用其本地的FTP數據端口(通常是20)來連接客戶端指定的端口N+1,進行數據傳輸。

在被動模式下,FTP庫戶端隨機開啓一個大於1024的端口N向服務器的21號端口發起連接,同時會開啓N+1號端口。然後向服務器發送PASV命令,通知服務器自己處於被動模式。服務器收到命令後,會開放一個大於1024的端口P進行監聽,然後用PORT P命令通知客戶端,自己的數據端口是P。客戶端收到命令後,會通過N+1號端口連接服務器的端口P,然後在兩個端口之間進行數據傳輸。

Linux用戶命令

  • 使用命令 useradd 創建用戶

例:useradd user1——創建用戶user1
useradd –e 12/30/2009 user2——創建user2,指定有效期2009-12-30到期
用戶的缺省UID從500向後順序增加,500以下作爲系統保留賬號,可以指定UID,
例:useradd –u 600 user3

  • 使用 passwd 命令爲新建用戶設置密碼

例:passwd user1
注意:沒有設置密碼的用戶不能使用。

  • 命令 usermod 修改用戶賬戶

例:將用戶 user1的登錄名改爲 u1,
usermod –l u1 user1
例:將用戶 user1 加入到 users組中,
usermod –g users user1
例:將用戶 user1 目錄改爲/users/us1
usermod –d /users/us1 user1

  • 使用命令 userdel 刪除用戶賬戶

例:刪除用戶user2
userdel user2
例:刪除用戶 user3,同時刪除他的工作目錄
userdel –r user3

  • 查看用戶信息

id命令查看一個用戶的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看用戶的主目錄、啓動shell、用戶名、地址、電話等信息
例:finger user4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章