linux中匿名用戶怎么登陸_南京課工場IT培訓:Linux中vsftpd服務配置(匿名,用戶,虛擬用戶)...

vsftpd概述

vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類操作系統上運行的服務器的名字,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開放源代碼的ftp服務器軟件,支持很多其他的 FTP 服務器所不支持的特征。

特點

非常高的安全性需求、帶寬限制、良好的可伸縮性、可創建虛擬用戶、支持IPv6、速率高
小巧輕快,安全易用。

ftp、sftp、vsftp、vsftpd這四個的區別

  • ftp 是File Transfer Protocol的縮寫,文件傳輸協議,用于在網絡上進行文件傳輸的一套標準協議,使用客戶/服務器模式。它屬于網絡傳輸協議的應用層。
  • sftp 是SSH File Transfer Protocol的縮寫,安全文件傳輸協議;
  • vsftp 是一個基于GPL發布的類Unix系統上使用的ftp服務器軟件,它的全稱是Very Secure FTP從此名稱可以看出來,編制者的初衷是代碼的安全;
  • vsftpd 是very secure FTP daemon的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類操作系統上運行的服務器的名字,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開放源代碼的ftp服務器軟件;

一,匿名用戶登錄ftp(文件在/var/ftp)

1,安裝vsftpd服務

[root@localhost ~]# yum install vsftpd -y   ##安裝服務
[root@localhost ~]# cd /etc/vsftpd/    ##此目錄是配置文件目錄
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@localhost vsftpd]# systemctl start vsftpd     ##開啟vsftpd服務
[root@localhost vsftpd]# systemctl stop firewalld.service    ##關閉防火墻
[root@localhost vsftpd]# setenforce 0    ##關閉增強功能
[root@localhost vsftpd]# ls /var/ftp/        ##切換到ftp目錄下
pub
[root@localhost vsftpd]# echo "this is test" > /var/ftp/test.txt   ##添加一個文本文件

2,用測試機cmd訪問vsftpd服務(cmd連接ftp)并下載文件

C:Usersxy007>ftp 192.168.13.140    ##訪問ftp服務
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): ftp       ##匿名訪問
331 Please specify the password.
密碼:                                                ##密碼無 回車
230 Login successful.
ftp> pwd            ##查看當前路徑
257 "/"               ##ftp服務的根目錄
ftp> ls -a           ##查看目錄中的內容
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
.
..
pub
test.txt               ##服務器中的文件
226 Directory send OK.
ftp: 收到 25 字節,用時 0.00秒 25000.00千字節/秒。
ftp> get test.txt  ##下載文件到本地(在哪個磁盤的訪問就下載到哪里,可以切換磁盤來下載e:)
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (13 bytes).
226 Transfer complete.
ftp: 收到 13 字節,用時 0.00秒 13000.00千字節/秒。
ftp> put test1.txt   ##在c盤中創建一個test1.txt然后上傳到Linux中
200 PORT command successful. Consider using PASV.
550 Permission denied.    ##此時是權限受限的

977e6cdd94b8190f92ae79e9357429f7.png

3,修改vsftpd配置文件將匿名訪問開啟最大權限

[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf
##在配置文件中查找開啟下列選項
anonymous_enable=YES       ##開啟匿名用戶
local_enable=YES    ##本地用戶
write_enable=YES    ##寫入權限
local_umask=022     ##本地用戶反掩碼
anon_upload_enable=YES   ##上傳權限開啟
anon_mkdir_write_enable=YES   ##開啟創建目錄并且能夠寫入
anon_other_write_enable=YES   ##添加一個other的重命名和刪除的權限[root@localhost vsftpd]# systemctl restart vsftpd  ##重啟服務
[root@localhost vsftpd]# cd /var/ftp/    ##切換到ftp目錄下
[root@localhost ftp]# ls
pub  test.txt
[root@localhost ftp]# ls -l
總用量 4
drwxr-xr-x. 2 root root  6 10月 31 2018 pub
-rw-r--r--. 1 root root 13 11月  5 19:14 test.txt
[root@localhost ftp]# chmod 777 pub   ##將pub目錄權限給最大,注意不能直接給ftp權限最大

4,用測試機cmd訪問ftp并上傳本地文件到Linux上

C:Usersxy007>ftp 192.168.13.140   ##訪問ftp服務
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): ftp
331 Please specify the password.
密碼:
230 Login successful.
ftp> cd pub/                             ##切換到pub目錄下
250 Directory successfully changed.
ftp> put test1.txt                      ##上傳文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 發送 13 字節,用時 0.03秒 0.41千字節/秒。
ftp> by     ##退出
221 Goodbye.
##你也可以使用delete刪除文件

5,查看上傳的文件

[root@localhost ftp]# cd /var/ftp/pub  ##切換到pub目錄下
[root@localhost pub]# ls     ##查看上傳的文件
test1.txt

二,利用本地用戶登錄ftp(文件在家目錄)

防止本地用戶訪問系統目錄,限制僅訪問用戶家目錄

1,創建系統用戶

[root@localhost pub]# useradd zhangsan   ##創建用戶并設置用戶密碼
[root@localhost pub]# passwd zhangsan
[root@localhost pub]# useradd lisi   ##創建用戶并設置用戶密碼
[root@localhost pub]# passwd lisi

2,測試機上cmd使用用戶登錄ftp

C:Usersxy007>ftp 192.168.13.140   ##登錄ftp服務
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): zhangsan   ##使用本地用戶
331 Please specify the password.
密碼:
230 Login successful.
ftp> ls /       ##查看用戶/下的目錄文件,直接到系統根目錄下
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
/bin
/boot
/dev
/etc
/home
/lib
/lib64
/media
/mnt
/opt
/proc
/root
/run
/sbin
/srv
/sys
/tmp
/usr
/var
226 Directory send OK.
ftp: 收到 126 字節,用時 0.02秒 7.88千字節/秒。

3,防止本地用戶訪問系統目錄,限制僅訪問用戶家目錄

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf    ##修改配置文件chroot_local_user=YES   ##開啟限制本地訪問系統目錄模塊
allow_writeable_chroot=YES ##添加寫的權限[root@localhost pub]# systemctl restart vsftpd   ##重啟服務

4,測試機cmd訪問

C:Usersxy007>ftp 192.168.13.140   ##訪問ftp
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): zhangsan   ##用戶zhangsan
331 Please specify the password.
密碼:
230 Login successful.
ftp> cd /    ##切換到系統根目錄
250 Directory successfully changed.
ftp> ls     ##查看發現還是在用戶的家目錄中,訪問不到系統的其他目錄了,增強了安全性
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.

設置允許,拒絕指定用戶訪問ftp

1,設置user-list(默認拒絕),允許或者拒絕特定用戶登錄ftp

[root@localhost pub]# cd /etc/vsftpd/  ##切換到vsftpd配置文件目錄
[root@localhost vsftpd]# vim vsftpd.confuserlist_enable=YES ##確認user-list開啟[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@localhost vsftpd]# echo "zhangsan" >> user-list   ##將zhangsan用戶添加到列表中
[root@localhost vsftpd]# systemctl restart vsftpd    ##重啟服務

2,用測試機cmd測試

C:Usersxy007>ftp 192.168.13.140
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): zhangsan   ##使用zhangsan登錄
530 Permission denied.
登錄失敗。                                        ##直接拒絕登錄
ftp>

3,設置列表為僅允許

[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf  ##配置vsftpd配置文件
userlist_enable=YES
userlist_deny=NO   ##添加列表允許[root@localhost vsftpd]# systemctl restart vsftpd   ##重啟服務

4,測試機cmd測試

C:Usersxy007>ftp 192.168.13.140
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): zhangsan   ##用zhangsan去登錄
331 Please specify the password.
密碼:
230 Login successful.        ##登錄成功
ftp> by
221 Goodbye.C:Usersxy007>ftp 192.168.13.140
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): lisi       ##用lisi去登錄
530 Permission denied.
登錄失敗。                           ##登錄失敗

三,建立虛擬用戶賬戶使用ftp(文件在系統用戶vuser家目錄)

1,創建虛擬用戶文件

[root@localhost vsftpd]# cd /etc/vsftpd/  ##切換到配置文件目錄下
[root@localhost vsftpd]# vim vuser      ##創建虛擬用戶文件lisa           ##奇數行為用戶名
123123    ##偶數行為密碼
tom
123123

2,轉換數據庫文件,設置安全權限

[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db    ##將vuser轉換成數據庫文件
##T轉換,t類型,f指定文件
[root@localhost vsftpd]# chmod 600 vuser      ##安全起見,不讓別人看到,設置權限
[root@localhost vsftpd]# chmod 600 vuser.db

3,編輯pam認證模塊支持虛擬用戶登錄

[root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser  
##創建系統用戶,指定家目錄,不能登錄
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu   ##編譯pam認證模塊auth required pam_userdb.so db=/etc/vsftpd/vuser    ##識別轉換過的數據庫文件
account required pam_userdb.so db=/etc/vsftpd/vuser   ##連接的密碼服務

4,開啟虛擬用戶,使用pam模塊認證登錄

[root@localhost vsftpd]# vim vsftpd.conf  ##修改配置文件
##大G到末行
#pam_service_name=vsftpd   ##注釋
##添加下面三行內容
guest_enable=YES           ##開啟來賓用戶訪問
guest_username=vuser      ##使用vuser用戶名
pam_service_name=vsftpd.vu   ##pam模塊
[root@localhost vsftpd]# systemctl restart vsftpd   ##重啟服務

5,測試機cmd測試

C:Usersxy007>ftp 192.168.13.140
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): tom   ##使用虛擬用戶tom登錄
331 Please specify the password.
密碼:
230 Login successful.
ftp> put test1.txt      ##上傳一個文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 發送 13 字節,用時 0.00秒 13000.00千字節/秒。
##查看文件的權限為600
[root@localhost vsftpd]# ls -l /opt/vuser/
總用量 4
-rw-------. 1 vuser vuser 13 11月  5 22:51 test1.txt

6,單獨用戶配置,指定上傳文件的權限644

[root@localhost vsftpd]# vim vsftpd.conf 
##大G末行添加
user_config_dir=/etc/vsftpd/vu_dir   ##單獨用戶配置文件夾[root@localhost vsftpd]# mkdir vu_dir  ##創建文件夾
[root@localhost vsftpd]# cd vu_dir/
[root@localhost vu_dir]# vim lisa     ##在配置文件夾里創建用戶配置文件anon_umask=022  ##指定上傳文件的權限[root@localhost vu_dir]# systemctl restart vsftpd  ##重啟服務

7,測試機cmd使用lisa用戶登錄,查看上傳文件權限

C:Usersxy007>ftp 192.168.13.140
連接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.13.140:(none)): lisa    ##使用lisa登錄
331 Please specify the password.
密碼:
230 Login successful.
ftp> put 111.txt        ##上傳文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 發送 13 字節,用時 0.00秒 13000.00千字節/秒。[root@localhost vu_dir]# ls -l /opt/vuser/   ##查看上傳文件的權限
總用量 8
-rw-r--r--. 1 vuser vuser 13 11月  5 22:58 111.txt    ##lisa上傳文件權限644
-rw-------. 1 vuser vuser 13 11月  5 22:51 test1.txt  ##tom上傳文件權限600

本專欄所有文章均為南京課工場學員投稿,如有問題歡迎指出討論,未經允許,禁止轉載!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372971.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372971.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372971.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java _ JDK _ Arrays, LinkedList, ArrayList, Vector 及Stack

(最近在看JDK源碼,只是拿著它的繼承圖在看,但很多東西不記錄仍然印象不深,所以開始記錄JDK閱讀系列。) (一)Arrays Arrays比較特殊,直接繼承自Arrays -》List(Interface) -》Collection(Interface)。(Maybe…

server2016做文件服務器,『配置』服務器搭建 Office Online Server2016 實現文檔預覽 番外 錯誤篇...

安裝一個或多個角色、角色服務或功能失敗。找不到源文件。請再次嘗試在新的“添加角色和功能”向導會話中安裝角色、角色服務或功能,然后在向導的“確認”頁中單擊“指定備用源路徑”以指定安裝所需的源文件的有效位置。目標服務器的計算機帳戶必須能夠訪問該位置。…

Java High CPU故障排除指南–第1部分

本文是該系列的第1部分,它將為您提供有關如何進行故障排除和識別Java高CPU問題根本原因的綜合指南。 該指南也適用于獨立的Java程序,但旨在幫助涉及Java EE企業日常生產支持的個人。 它還將包括最常見的高級CPU問題列表以及高級解決方案。 生產問題解決…

PHP數據結構之三 線性表中的單鏈表的PHP實現

線性表的鏈式存儲:用一組任意的存儲單元存儲線性表中的數據元素。用這種方法存儲的線性表簡稱線性鏈表。 鏈式存儲線性表的特點:存儲鏈表中結點的一組任意的存儲單元可以是連續的,也可以是不連續的,甚至是零散分布在內存中的任意位…

php進程間通信 yoc_swoole的process模塊創建和使用子進程

swoole中為我們提供了一個進程管理模塊 Process,替換PHP的 pcntl 擴展,方便我們創建進程,管理進程,和進程間的通信。swoole提供了2種進程間的通信:1、基于 unix socket 的管道 pipe。2、基于 sysvmsg 的消息隊列。我們…

ajax回復留言,Ajax 留言板模擬

這一節我們利用 Ajax 制作一個留言板模擬,之所以叫模擬,是由于沒有將留言內容存入數據庫,而只是假像地處理,因為這里著重討論 Ajax,暫時就不涉及數據庫操作。這里我們模擬了留言失敗的情況,每次提交有 50% …

RabbitMQ:計劃郵件傳遞

本月初,我在ComoRichWeb上的RabbitMQ上做了一個演講,與會人員提出的一個問題是“是否可以發布一條消息供以后使用?” 我回答說,就我所知,這是不可能的,但是可能會有一些技巧來實現它。 好吧,今天…

mysqls壓力測試怎么用_阿里研究員:測試穩定性三板斧,我怎么用?

阿里妹導讀:如何治理測試穩定性問題?很多人會說:環境、流程管控、監控、工具化、加機器、專人負責、等等。這些都是對的。不過這些都是解決方案層面的,而不是方法論和理論體系層面的。今天,阿里研究員鄭子穎來說說測試…

HttpModule與HttpHandler詳解

ASP.NET對請求處理的過程:當請求一個*.aspx文件的時候,這個請求會被inetinfo.exe進程截獲,它判斷文件的后綴(aspx)之后,將這個請求轉交給 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll會通過http管道&…

【iOS開發】---- 強大的UI修改工具 UIAppearance-有圖片效果

iOS5及其以后提供了一個比較強大的工具UIAppearance&#xff0c;可以輕松的統一你的界面&#xff0c;它提供如下兩個方法&#xff1a; (id)appearance (id)appearanceWhenContainedIn:(Class <>)ContainerClass,... 第一個方法是統一全部改&#xff0c;比如你設置UINav…

7月9日王者榮耀服務器維護,王者榮耀 7月9日體驗服停機更新公告

親愛的召喚師&#xff1a;為了增加版本的穩定性&#xff0c;我們計劃在2021年7月9日16:00-17:00對《王者榮耀》體驗服進行停機維護。【更新時間】7月9日16:00-17:00(15:30關閉PVP)【更新方式】停機更新【更新范圍】王者榮耀修煉之地體驗服【下載地址】體驗服更新完畢后&#xf…

使用Jetty設置JNDI(嵌入式)

我在開發工作區上運行嵌入式Jetty&#xff0c;從而節省了一些編譯和部署惡性循環的時間。 我與Jetty的合作不多&#xff0c;易用性使我著迷于它。 我需要設置JNDI才能檢索與數據庫相關的活動的連接池。 盡管某些地方有完整的文檔&#xff0c;但大多數都是分散的。 因此&#xf…

交華為換機access配置_華為交換機Hybrid接口及基礎配置

一、回顧VLANVLAN基本概念VLAN即虛擬局域網&#xff0c;是將一個物理的LAN在邏輯上劃分成多個廣播域(多個VLAN)的通信技術。VLAN內的主機間可以直接通信&#xff0c;而VLAN間不能直接互通&#xff0c;從而將廣播報文限制在一個VLAN內。由于VLAN之間的隔離&#xff0c;所以一些類…

HttpClient使用之下載遠程服務器中的文件(注意目錄遍歷漏洞)

參考文獻&#xff1a; http://bbs.csdn.net/topics/390952011 http://blog.csdn.net/ljj_9/article/details/53306468 1.下載地址 http://hc.apache.org/downloads.cgi Apache-》Projects-》HttpComponents 2.DownloadServlet 1 package com.servlet;2 3 import java.io.Buffer…

HDOJ-1263

水果 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5303 Accepted Submission(s): 2022 Problem Description夏天來了~~好開心啊,呵呵,好多好多水果~~Joe經營著一個不大的水果店.他認為生存之道就是經營最受顧…

django ajax form表單,Django學習系列之Form表單和ajax(示例代碼)

昵 稱&#xff1a;生 日&#xff1a;性 別&#xff1a; 男 女地 址&#xff1a;手 機 號&#xff1a;郵 箱&#xff1a;[修改]{% csrf_token %}$(\#jsEditUserBtn\).on(\click\, function(){var _self $(this),$jsEditUserForm $(\#…

git push 的符號筆有什么用_如何同步多個 git 遠程倉庫

點擊上方“后端技術精選”&#xff0c;選擇“置頂公眾號”技術文章第一時間送達&#xff01;作者&#xff1a;taadismy.oschina.net/taadis/blog/3073220題外話&#xff0c;開發中遇到問題或者學習新技術時缺少交流環境&#xff0c;可以點擊加入【后端技術交流群】日常需求以前…

Java EE重新審視設計模式:觀察者

除了以多種語言和許多應用程序實現之外&#xff0c;Observer Pattern自1.0版以來一直是Java的一部分。 觀察者模式也是好萊塢原則的良好實施。 就像好萊塢的特工喜歡回調候選人以代替某個職位&#xff0c;而不是每天被要求詢問可用工作一樣&#xff0c;大多數服務器端資源&…

POI搜索簡介

用戶輸入——用戶輸出-----------------------------------------------------------而POI搜索引擎&#xff0c;需要做的就是拿到輸入條件&#xff0c;給出用戶比較滿意的結果。用戶角度&#xff1a;輸入&#xff1a;盡量簡單&#xff0c;且符合心意輸入時的假設&#xff1a;假…

2、Spring的 IoC詳解(第一個Spring程序)

Spring是為了解決企業應用開發的復雜性而創建的一個輕量級的控制反轉&#xff08;IoC&#xff09;和面向切面&#xff08;AOP&#xff09;的容器框架。在這句話中重點有兩個&#xff0c;一個是IoC&#xff0c;另一個是AOP。今天我們講第一個IoC。 一. IoC理論的背景 我們都知道…