1、安裝vsftpd
終端輸入sudo apt-get install vsftpd
安裝之後會在/home/下建立一個ftp目錄,訪問下可以看到一個空白內容的ftp空間。
默認設置下需要匿名用戶不可以登錄
2、設置 vsftpd.conf文件
修改之前最好先備份這個文件:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
參數意義:
Anonymous_enable=yes (允許匿名登陸)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的文件權限,默認是077)
Connect_form_port_20=yes (啟用FTP數據端口的數據連接)*
Xferlog_enable=yes (激活上傳和下傳的日志)
Xferlog_std_format=yes (使用標准的日志格式)
Ftpd_banner=XXXXX (歡迎信息)
Pam_service_name=vsftpd (驗證方式)*
Listen=yes (獨立的VSFTPD服務器)*
功能:只能連接FTP服務器,不能上傳和下傳
注:其中所有和日志歡迎信息相關連的都是可選項,打了星號的無論什麼帳戶都要添加,是屬於FTP的基本選項
開啟匿名FTP服務器上傳權限:
Anon_upload_enable=yes (匿名帳號開放上傳權限)
Anon_mkdir_write_enable=yes (匿名帳號可創建目錄的同時可以在此目錄中上傳文件)
Write_enable=yes (開放本地用戶寫的權限)
Anon_other_write_enable=yes (匿名帳號可以有刪除的權限)
Anon_world_readable_only=no(開啟匿名服務器下傳的權限)
普通用戶FTP服務器的連接(獨立服務器)配置:
Local_enble=yes (本地帳戶能夠登陸)
Write_enable=no (本地帳戶登陸後無權刪除和修改文件)
功能:可以用本地帳戶登陸vsftpd服務器,有下載上傳的權限
注:在禁止匿名登陸的信息後匿名服務器照樣可以登陸但不可以上傳下傳
用戶登陸限制進其它的目錄,只能進它的主目錄:
設置所有的本地用戶都執行chroot
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
設置指定用戶執行chroot
Chroot_list_enable=yes (文件中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有創建的需要自己添加,要想控制帳號就直接在文件中加帳號即可
限制本地用戶訪問FTP:
Userlist_enable=yes (用userlistlai 來限制用戶訪問)
Userlist_deny=no (名單中的人不允許訪問)
Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)
注:開啟userlist_enable=yes匿名帳號不能登陸
安全選項
Idle_session_timeout=600(秒) (用戶會話空閒後10分鐘)
Data_connection_timeout=120(秒) (將數據連接空閒2分鐘斷)
Accept_timeout=60(秒) (將客戶端空閒1分鐘後斷)
Connect_timeout=60(秒) (中斷1分鐘後又重新連接)
Local_max_rate=50000(bite) (本地用戶傳輸率50K)
Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
Pasv_min_port=50000 (將客戶端的數據連接端口改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大連接數)
Max_per_ip=4 (每IP的最大連接數)
Listen_port=5555 (從5555端口進行數據連接)
查看誰登陸了FTP,並殺死它的進程
ps –xf |grep ftp
kill 進程號
3、配置本地組訪問的FTP
首先創建用戶組 test和FTP的主目錄
groupadd test
mkdir /tmp/test
然後創建用戶
useradd -G test –d /tmp/test –M usr1
注:G:用戶所在的組
d:表示創建用戶的自己目錄的位置給予指定
M:不建立默認的自家目錄,也就是說在/home下沒有自己的目錄
useradd –G test –d /tmp/test –M usr2
接著改變文件夾的屬主和權限
chown usr1.test /tmp/test ----這表示把/tmp/test的屬主定為usr1
chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什麼權限都沒有
這個實驗的目的就是usr1有上傳、刪除和下載的權限,而usr2只有下載的權限沒有上傳和刪除的權限
主配置文件vsftpd.conf要確定local_enable=yes、write_enable=yes、chroot_local_usr=yes這三個選項是有的哦!
4、配置獨立FTP的服務器的非端口標准模式進行數據連接
在VSFTPD_CONF中添加Listen_port=33333
5、配置單獨的虛擬FTP,使用虛擬FTP用戶,並使建立的四個帳戶中有不同的權限
(兩個有讀目錄的權限,一個有浏覽、上傳、下載的權限,一個有浏覽、下載、刪除和改文件名的權限)
1>配置網卡
第一塊網卡地址是10.2.3.4 掩碼是255.255.0.0
ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up
2>寫入/etc/sysconfig中(為了重起後IP地址不會丟失)
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth0:1
vi ifcfg-eth0:1在其中修改內容如下
DEVICE=eth0:1
BROADCAST=211.131.4.255
HWADDR=該網卡的MAC地址
IPADDR=211.131.4.253
NETMASK=255.255.255.0
NETWORK=211.131.4.0
ONBOOT=yes
TYPE=Ethernet
wq退出
3>進入vsftpd.conf所在的文件夾cp vsftpd.conf vsftpd2.conf
修改vsftpd.conf添加以下信息
Listen_address=10.2.3.4
修改vsftpd2.conf添加以下信息
Listen_address=211.131.4.253
Ftpd_banner=this is a virtual ftp test
到此虛擬的FTP服務器建立好了
4>建立logins.txt
vi /tmp/logins.txt
添加入下信息:
longlei------------用戶名
longlei------------密碼
zhangweibo
zhangweibo
jinhui
jinhui
lxp
lxp
格式:一個用戶名,一個密碼
5>建立訪問者的口令庫文件,然後修改其權限
db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db
6>進如/etc/pam.d/中創建
在中添加如下信息
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
7>在/var/ftp/創建目錄並改變其屬性和它的屬主
useradd -d /var/ftp/test qiang
chmod 700 /var/ftp/test
在目錄中添加test_file測試文件
8>進入vsftpd2.conf修改其中的信息(可以是)
Listen_yes
Anonymous_enable=no
Local_enable=yes
Write_enable=no
Anon_upload_enable=no
Anon_mkdir_write_enable=no
Anon_other_write_enable=no
Chroot_local_user=yes
Guest_enable=yes----------起用虛擬用戶
Guest_username=qiang------將虛擬用戶映射為本地用戶
Listen_port=5555
Max_client=10
Max_per_ip=1
Ftpd_banner=this is a virtual server and users
Pam_service_name=ftp.vu
注:在主配置文件中給的權限越低,在後面分用戶管理的時候對用戶的權限劃分的空間就越大,因為主配置文件最高的限制服務先讀主配置文件,然後再讀用戶的配置文件
配置完成時候執行/etc/init.d/vsftpd restart重啟ftp服務器即可
到此虛擬USER就建好了
9>在VSFTPD_CONF所在的目錄中創建virtaul文件目錄,並在文件目錄中創建以你用戶名命名的配置文件
Longlei zhangweibo jinhui lxp
在longlei中添加:
Anon_world_readable_only=no
在lxp中添加
Anon_world_readable_only=no
這樣此兩個用戶就有了浏覽目錄的權限了
在jinhui中添加
Anon_world_readable_only=no
Write_enable=yes
Anon_upload_enable=yes
此用戶就有了上傳、下載和浏覽的權限
在zhangweibo中添加
Anon_world_readable_only=no
Write_enable=yes
Anon_upload_enable=yes
Anon_other_write_enable=yes
此用戶就有了上傳、下載、刪除文件目錄、修改文件名和浏覽的權限
10>修改vsftpd2.conf
加入user_config_dir=/vsftpd.conf所在的目錄/virtual
重起服務器就搞定了
VSFTPD_CONF中的所有配置信息
Anonymous_enable=yes (允許匿名登陸)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022