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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

vsftpd的基于pam_mysql的虚拟用户机制

發布時間:2025/3/20 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vsftpd的基于pam_mysql的虚拟用户机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vsftpd的基于pam_mysql的虛擬用戶機制

虛擬用戶:是ftp中常用的一種策略,因為ftp服務古老而且不安全,使用匿名用戶不能有效的控制權限,而本地用戶可以登錄操作系統,極為不安全,所以引入了虛擬用戶的概念,其只是將多個虛擬用戶映射為一個本地用戶,此用戶可以設置不允許登錄,從而加強了系統的安全性,本問主要介紹基于mysql的虛擬用戶

配置pam_mysql

下載地址:pam-mysql.sourceforge.net #?yum?-y??groupinstall??"Development?Tools"?"Server?Platform?Development" #?yum?-y?install?pam-devel?openssl-devel?mariadb-devel #?./configure?--with-mysql=/usr?--with-openssl=/usr?--with-pam=/usr?--with-pam-mods-dir=/lib64/security #?make?&&?make?install 安裝后模塊路徑:/usr/lib64/security/pam_mysql.so

mariadb配置?
創建所需數據庫和表,插入所需用戶,這里的密碼使用password加密方式加密

MariaDB?[(none)]>?CREATE?DATABASE?ftpdb; MariaDB?[ftpdb]>?CREATE?TABLE?users?(id?int?AUTO_INCREMENT?PRIMARY?KEY,name?char(30)?NOT?NULL,password?char(48)); MariaDB?[ftpdb]>?INSERT?INTO?users(name,password)?VALUES?('tom',password('tom'));??????????????? MariaDB?[ftpdb]>?INSERT?INTO?users(name,password)?VALUES?('jerry',password('jerry')); MariaDB?[ftpdb]>?SELECT?*?FROM?users; +----+-------+-------------------------------------------+ |?id?|?name??|?password??????????????????????????????????| +----+-------+-------------------------------------------+ |??1?|?tom???|?*71FF744436C7EA1B954F6276121DB5D2BF68FC07?| |??2?|?jerry?|?*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0?| +----+-------+-------------------------------------------+ MariaDB?[(none)]>?GRANT?ALL?ON?ftpdb.*?TO?vsftpuser@'172.18.%.%'?IDENTIFIED?BY?'vsftpuser'; MariaDB?[ftpdb]>?FLUSH?PRIVILEGES;


修改pam配置文件,添加配置

#?vim?/etc/pam.d/vsftpd.mysql auth?required?/usr/lib/security/pam_mysql.so?user=vsftpuser?passwd=vsftpuser?host=172.18.4.70?db=ftpdb?table=users?usercolumn=name??passwdcolumn=password?crypt=2 account?required?/usr/lib/security/pam_mysql.so?user=vsftpuser?passwd=vsftpuser?host=172.18.4.70?db=ftpdb?table=users?usercolumn=name?passwdcolumn=password?crypt=2

添加虛擬用戶映射用戶

#?useradd?-s?/sbin/nologin?-d?/ftproot?vuser #?chmod?-w?/ftproot #?mkdir?/ftproot/{download,upload}?#?建議創建目錄在子目錄中賦予權限 #?chown?vuser.vuser?/ftproot/{download,upload}

注意:CentOS 7后對vsftpd的權限限制更為嚴格,所以用戶家目錄不應有寫權限,如果需要設置寫權限,需在目錄下創建子目錄即可。


修改其權限保證用戶可進入讀取

#?chmod?go+rx?/ftproot/


修改配置文件:/etc/vsftpd/vsftpd.conf


必須選項

修改pam認證模塊為vsftpd.mysql:pam_service_name=vsftpd.mysql 保證下面三項開啟:anonymous_enable=YESlocal_enable=YESwrite_enable=YES 添加:guest_enable=YESguest_username=vuser

可選選項

chroot_local_user=YES??#?基于安全考慮建議開啟 anon_upload_enable=YES?#?用戶可上傳文件 anon_mkdir_write_enable=YES?#用戶科協 anon_other_write_enable=YES?#除了上傳和寫入的其他權限 #?因為虛擬用戶基于匿名用戶,所以權限控制可以基于匿名用戶使用。

設置用戶可上傳并測試


單獨用戶權限控制

編輯配置文件:/etc/vsftpd/vsftpd.conf?

添加對應目錄:user_config_dir=/etc/vsftpd/vuser.conf.d?

創建對應目錄:mkdir /etc/vsftpd/vuser.conf.d?

創建對應用戶名的文件:touch tom jerry?

修改文件,添加權限即可

實例:控制tom用戶可上傳,jerry用戶不可上傳?
1、創建對應目錄及修改配置文件

mkdir?/etc/vsftpd/vuser.conf.d echo?"user_config_dir=/etc/vsftpd/vuser.conf.d"?>>?/etc/vsftpd/vsftpd.conf

2、設置文件系統及用戶權限

echo?"anon_upload_enable=YES"?>>/etc/vsftpd/vuser.conf.d/tom echo?"anon_upload_enable=NO"?>>/etc/vsftpd/vuser.conf.d/jerry chown?-R?vuser.vuser?/ftproot/upload

3、重啟服務并測試

systemctl?restart?vsftpd.service


對于vsftpd就寫到這里了,感覺寫的不錯可以給點個贊。?
?作者:Ace?QQ1257465991?Linux運維攻城獅一只?
?Q/A:如有問題請慷慨提出


轉載于:https://blog.51cto.com/xinzong/1767316

總結

以上是生活随笔為你收集整理的vsftpd的基于pam_mysql的虚拟用户机制的全部內容,希望文章能夠幫你解決所遇到的問題。

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