您好,登錄后才能下訂單哦!
vsftpd基于mysql服務實現:
查看是maradb中是否有pam-mysql,在目錄/lib64/security/下。
沒有就編譯安裝pam-mysql
步驟:
1. # yum -y groupinstall "Development Tools" "Server Platform Development"
2. # yum -y install pam-devel openssl-devel mariadb-devel mariadb-server
3. # ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
注:可使用./configure -help查看配置指令
# make && make install
4. 之后在mysql數據庫中創建數據庫、表,在表中定義三個字段id,name,passwd。 授權等一系列操作
在此步驟中需要創建以下內容:
連上數據庫:開啟mariadb服務之后使用mysql命令
a、CREATE DATABASE vsftpd;##創建數據庫
b、use vsftpd;#切換至數據庫中
c、CREATE TABLE users (id int AUTO_INCREMENT NOT NULL PRIMARY KEY,name char(30) NOT NULL,password char(48) binary NOT NULL );##創建表
d、INSERT INTO users(name,password) VALUES ('tom',password('mageedu'));##創建一個用戶
e、INSERT INTO users(name,password) VALUES ('jerry',password('mageedu'));##創建一個用戶
f、SELECT * FROM users;##查看表
g、GRANT select ON vsftpd.* TO vsftpd@’127.0.0.1‘ IDENTIFIED BY 'mageedu';##授權用戶
h、FLUSH PRIVILEGES;
退出,可以再次連接數據庫,檢查是否創建數據庫和表及表的內容是否成功。
5. pam配置文件;在目錄/etc/pam.d/下有個vsftpd,但在使用時要重新創建配置文件,在/etc/pam.d/目錄下創建 vsftpd.mysql 在里面添加下面內容:(注意下面的內容都是在上一步當中的數據庫中添加創建過的)
auth required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2(加密方式類型)
account required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
6.創建用戶:useradd -s /sbin/nologin -d /ftproot vuser
chmod go+rx /ftproot/
配置文件:在配置文件/etc/vsftpd/vsftpd.conf中添加pam_service_name=vsftpd.mysql
gusest_enable=YES
gusest_username=vuser
在此同時確保上面的配置正確。
7.這時使用另一臺主機嘗試是否可以成功登陸。
可以修改配置文件玩玩查看上傳等功能。
8.如果只允許其中一個用戶上傳,則可以通過以下方法:
a、首先將主配置文件中的上傳功能注釋了
b、創建一個用戶的專一配置文件目錄/etc/vsftpd/vusers.conf.d在此目錄下vim tom 在tom文件中添加anon_upload_enable=YES
vim jerry 在此文件中添加anon_upload_enable=NO
c、此時在主配置文件中要明確告訴vsftpd要使用用戶配置目錄,則在主配置文件中添加user_config_dir=/etc/vsftpd/vusers.conf.d/
d、重啟服務
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。