日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vsftpd 配置-使用虚拟账户登录

發布時間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vsftpd 配置-使用虚拟账户登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

vsftpd 支持三種賬戶類型登錄 ftp,分別是:匿名用戶、系統賬戶、虛擬賬戶

匿名用戶

默認 vsftpd 是支持匿名用戶的,該用戶登錄 ftp 服務使用 anonymous 用戶直接登錄,不需要輸入密碼。

系統賬戶

可以使用 Linux 系統本身存在的用戶,作為 ftp 用戶,具體哪些用戶可以登錄 ftp,可以通過配置文件指定。

虛擬賬戶

虛擬用戶的特點是只能訪問服務器為其提供的FTP服務,而不能訪問系統的其它資源。所以,如果想讓用戶對FTP服務器站內具有寫權限,但又不允許訪問系統其它資源,可以使用虛擬用戶來提高系統的安全性。

說明:所有虛擬用戶在登錄過程中會被隱射成同一個系統賬戶,所以所有的虛擬賬戶擁有相同的系統權限,如果想區分匿名用戶的權限,默認情況是無法實現的。

環境及目標

VMWare 虛擬機,Ubuntu20.04 64位,vsftpd-3.0.3

目標是搭建一個ftp,可以使用虛擬用戶 vuser1 登錄 ftp。

搭建過程

# 安裝 vsftpd apt install -y vsftpd # 找到 pam_userdb.so 位置,后續配置會用到 find / -name pam_userdb.so

建立虛擬宿主用戶。

虛擬用戶并不是系統用戶,也就是說這些 ftp 的用戶在系統中是不存在的。他們的總體權限其實是集中映射在一個系統用戶身上,所謂 vsftpd 的虛擬宿主用戶,就是這樣一個支持著所有虛擬用戶的宿主用戶。執行以下命令將虛擬用戶映射在 virtusers 這個用戶上。

# -d 指定賬戶的 home 目錄 # -s 指定系統用戶登錄的 shell,nologin 即不允許系統 login 登錄。 # 使用 nologin 可以增強安全性 useradd -d /data/ftproot virtusers -s /sbin/nologin

建立 ftp 相關工作目錄,以及權限管理。

最新版 vsftpd 不允許用戶主目錄有 w 權限,因此在主目錄下新建一個子目錄。所有上傳、下載、刪除、重命名等操作只能在子目錄中進行,虛擬用戶 vuser1 的 ftp 目錄是 /data/ftproot/vuser1/,沒有 w 權限,設置權限為 500,以下是相關目錄權限設置參考。

# 此處采用目錄結構樹的形式展現個子目錄權限/data #數據目錄,便于后期數據備份 └── [drwxr-xr-x] ftproot #FTP服務目錄└── [dr-x------] vuser1 #虛擬用戶主目錄,后期可以增加vuser2、vuser3...└── [drwxr-xr-x] rootdir #虛擬用戶FTP工作目錄,可以在此目錄讀寫操作 # 創建相關目錄。 mkdir -p /data/ftproot/vuser1/rootdir# 進行權限設置。 chown -R virtusers.virtusers /data/ftproot chmod 500 /data/ftproot/vuser1

配置虛擬用戶

# 創建文件,用于存儲虛擬賬戶名稱及對應密碼 vi /etc/vsftpd/vuserlist# 虛擬用戶列表的內容 # 奇數行為用戶名,偶數行為用戶密碼 vuser1 123456

用系統的 db_load 工具來生成 db 文件,出于安全角度修改 vuserlist.db 為 600 權限。
如果沒有這個工具可以通過以下命令安裝。

apt install -y db-utildb_load -T -t hash -f /etc/vsftpd/vuserlist /etc/vsftpd/vuserlist.db chmod 600 /etc/vsftpd/vuserlist.db

修改 PAM 驗證。

修改 */etc/pam.d/vsftpd,這個文件名與 /etc/vsftpd.conf 中的 pam_service_name=vsftpd 相對應。注釋掉所有參數,在最后面加入以下兩行內容。

# 注意:需要清除除注釋外的所有內容,包括默認生成的以 @ 等開頭的內容auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuserlist account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuserlist

創建及配置虛擬用戶的配置文件。

# 創建虛擬用戶的配置文件 mkdir /etc/vsftpd/vuser_conf/# 配置虛擬用戶的配置文件 vi /etc/vsftpd/vuser_conf/vuser1# 添加以下配置信息 local_root=/data/ftproot/vuser1 anon_upload_enable=YES anon_world_readable_only=NO anon_mkdir_write_enable=YES anon_other_write_enable=YES

配置 vsftpd 的 vsftpd.conf 主配置文件。

listen=YES #開啟IPv4監聽 listen_ipv6=NO #關閉IPV6監聽 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vsftpd #如果前面/etc/pam.d/vsftpd沒有改文件名,就不修改 virtual_use_local_privs=YES #虛擬用戶使用本地用戶的權限 guest_enable=YES #開啟虛擬用戶 guest_username=virtusers #指定虛擬用戶的宿主用戶user_config_dir=/etc/vsftpd/vuser_conf #指定虛擬用戶配置文件

記得創建 /etc/vsftpd/chroot_list,否則會報錯。

touch /etc/vsftpd/chroot_list

解釋說明

chroot_local_user 和 chroot_list_file 兩個配置項是配合使用的。

當 chroot_local_user=YES 時,只有 chroot_list_file 中指定的用戶才能夠 chroot,其他用戶禁止 chroot。

當 chroot_local_user=NO 時, chroot_list_file 中指定的用戶禁止 chroot,其他用戶可以 chroot。

總結

以上是生活随笔為你收集整理的vsftpd 配置-使用虚拟账户登录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。