中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vsftpd怎么配置虛擬用戶

發布時間:2021-10-22 11:21:54 來源:億速云 閱讀:156 作者:小新 欄目:系統運維

小編給大家分享一下vsftpd怎么配置虛擬用戶,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

 vsftpd的虛擬用戶配置:PAM + PgSQL + FreeBSD-4
(1.0beta,歡迎debug,本人也會隨時更新)
vsftpd可能是世界上最好的ftpd。它在linux世界非常流行,安全,性能高。
本文的目的是讓PgSQL存儲你的vsftp的虛擬用戶和密碼,通過一個叫做pam的東東來認證。
零、簡述PAM原理。
如果你已經對pam有所了解,請跳過,我知道的可能還不如你多。你不感興趣也請跳過,因為不看這個也可配置。
代碼:
用戶 <-> vsftpd <-> PAM模塊 <-> 用戶和密碼數據庫
vsftpd用了一種很聰明同時也是unix/linux規范的方法來認證用戶,就是PAM。大家對于PAM,也許有些陌生,但是一直在用。所謂PAM,英文是:Pluggable Authentication Modules,可拔插認證模塊(不知道這樣翻譯對不對)。看見plug這個關鍵字,就知道是很靈活的。
現在幾乎所有daemon程序一般都是用PAM來進行認證的,包括telnet/sshd/imapd,甚至你的login,都是用PAM。在 fbsd 4上的朋友,你可以打ps -ax|grep pam,你會發現login了多少個控制臺,就會有多少個寫著pam的進程。
PAM的最大好處是靈活。它不管你的用戶和密碼用什么數據格式存儲(數據庫也好,通常用的密碼文件也好),只要有相應的PAM模塊就可以存儲。比如說,大家不僅可以用vsftpd + PgSQL做用戶登陸驗證,只要你喜歡你還可以用MySQL,Oracle,LDAP數據庫存儲用戶數據,只要有相應的PAM就可以。所有的daemon 都可以用一個后臺數據庫來做用戶驗證登陸,包括telnet/sshd等等。
pam的配置機制在不同版本的freebsd上有差異。
freebsd-4放在/etc/pam.conf,一個文件記錄所有pam服務。
freebsd-5放在/etc/pam.d,/usr/local/etc/pam.d。每個pam服務由一個獨立的文件記錄。
本文不打算詳細敘述PAM的配置。PAM的配置不是很難,畢竟,只是要你配置一些參數,不是叫你開發一個pam模塊出來。而且本文的篇幅所限,偶剛剛知道的一點東西希望能夠起到拋磚引玉的作用。等偶對pam再玩得深入和熟一點的時候,再寫一篇關于深入一點關于pam的東東?
準備開始:提要
簡單講講要用到的配置文件的作用。
引用:
/etc/pam.conf #pam服務的配置
/etc/pam_pgsql.conf #pam_pgsql.so的配置
/usr/local/etc/vsftpd.conf #vsftpd的配置
一、安裝vsftpd,PostgreSQL,pam_pgsql。
我都是使用port來安裝的,請大家用port/package來安裝,不要自己下載源碼來編譯,否則可能根據本文的方法可能無法正常使用。其中vsftpd和pam-pgsql一定要用port/package來安裝。
以下是他們的port目錄:
引用:
/usr/ports/ftp/vsftpd
/usr/ports/databases/postgresql7
/usr/ports/security/pam-pgsql
安裝:只要cd進去,然后make install就OK了。
二、PostgreSQL安裝(如果你已經有了PostgreSQL,不需要看這一節)
簡單提提用port來裝PostgreSQL的過程,因為BSD版上的裝PgSQL的方法都是自己下載源碼編譯的。我是用port來編譯安裝,因為這是fbsd推薦的安裝方法,而且安裝的軟件會根據bsd的hier(目錄結構)來安裝,比較便于管理。
當用port來安裝好PostgreSQL,默認的數據庫管理用戶是pgsql(port里頭的安裝程序自動添加的),其他系統默認的是postgres。初始化PostgreSQL的程序如下:
1、初始數據庫。請先用root登陸或者su到root。然后,打命令:
代碼:
# su pgsql
# initdb
正常初始化的應該有以下提示:
引用:
This database system will be initialized with username "pgsql".
This user will own all the data files and must also own the server process.
Creating directory /usr/local/pgsql/data
Creating directory /usr/local/pgsql/data/base
Creating directory /usr/local/pgsql/data/global
Creating directory /usr/local/pgsql/data/pg_xlog
Creating template1 database in /usr/local/pgsql/data/base/1
[snip]
Success. You can now start the database server using:
/usr/local/bin/postmaster -D /usr/local/pgsql/data
or
/usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
2、啟動PostgreSQL
代碼:
# /usr/local/etc/rc.d/010.pgsql.sh start
更多詳細的幫助,請看freebsddiary上面的一篇用port來安裝PostgreSQL的文章,全英文。
http://www.freebsddiary.org/postgresql.php
三、設定用戶數據庫。
我是PgSQL的初學者,命令行用得不熟,因而要借助phpPgAdmin來管理數據庫。
1、先創建一個數據庫,叫做mydb。
2、建立一個數據表叫做ftp,用來存儲用戶名和帳號。這個數據表的結構是pam_pgsql模塊規定的最簡單的表了,每一個字段都是必須的,你可以擴展這個表的結構,但是不要刪除這些字段。我導出了一個SQL腳本,方便大家創建。
代碼:
CREATE TABLE "ftp" (
 "ID"                int4 DEFAULT nextval('public."ftp_ID_seq"')  NOT NULL ,
 "usr"               varchar(32) NOT NULL ,
 "pass"              varchar(32) NOT NULL ,
 "expired"           bool DEFAULT false  NOT NULL ,
 "newtok"            bool DEFAULT false  NOT NULL
);
請創建一些用戶,方便調試:
這是我的ftp表,這些記錄名字都是隨便起的。但請注意只有expired為f(假)的可以成功登陸。
代碼:
 ID |   usr   |  pass   | expired | newtok

以上是“vsftpd怎么配置虛擬用戶”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新河县| 邮箱| 南溪县| 叶城县| 揭东县| 乳山市| 林芝县| 方正县| 社会| 如东县| 宁远县| 兰溪市| 杂多县| 茌平县| 东乡| 右玉县| 肥城市| 遵义县| 大城县| 永福县| 封开县| 孙吴县| 鄂尔多斯市| 牙克石市| 德兴市| 淳安县| 墨江| 舞钢市| 襄汾县| 兴仁县| 汝城县| 湖北省| 抚松县| 镇原县| 阜宁县| 财经| 诸暨市| 雷山县| 湘西| 滦南县| 景德镇市|