歡迎您光臨本站 註冊首頁

debainsarge下用postgresql給vsftp配置虛擬用戶

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

debainsarge下用postgresql給vsftp配置虛擬用戶
作者:劉華煜
1.切換到root,安裝vsftpd libpam-pgsql postgresql三個軟體包
2.修改/etc/vsftpd.conf,加上下面五行
local_enable=YES
guest_enable=YES
guest_username=vsftpv
virtual_use_local_privs=YES
write_enable=YES
3.useradd vsftpv -d /home/ftp
創建一個系統用戶vsftpv
cd /home/ftp
mkdir i
chown vsftpv:users i
chmod 755 i
4.編輯/etc/postgresql/pg_hba.conf
找到文件中的這兩行
# All other connections by UNIX sockets
local all all ident sameuser
將第二行修改為
local all all password
5.重新啟動postgresql
6.切換到postgres用戶(一般只能先切換到root用戶,在root用戶下切換到postgres用戶)。
運行createdb vsftp來創建資料庫vsftp。
運行psql vsftp,就進入了psql。
在vsftp=#提示符下
create user vsftpident with password '0w03f80' nocreatedb nocreateuser;
創建用戶vsftpident
create table users(name varchar(10), pass varchar(40), expired boolean, needchangepass boolean);
創建一個表user
insert into users values('lhy', 'liuhuayu','f','f');
插入一行記錄,lhy就是虛擬用戶用戶名,liuhuayu就是密碼。
grant select on users to vsftpident;
加許可權
q退出psql
7.回到root下,編輯/etc/pam.d/vsftpd
首先把所有內容都註釋掉,然後加入如下3行
auth required pam_pgsql.so
account required pam_pgsql.so
password required pam_pgsql.so
8.創建/etc/pam_pgsql.conf,內容如下:
database = vsftp
user = vsftpident
password = 0w03f80
table = users
user_column = name
pwd_column = pass
expired_column = expired
newtok_column = needchangepass
9.重新啟動vsftpd
10.ftp 127.0.0.1可以用用戶lhy密碼liuhuayu登錄了
可以在i目錄下有完全許可權。
註:網上似乎中文資料不多,自己摸索了一下
但對postgresql本身不熟悉,所以不好說方式是不是笨拙。
內容中都幾乎是必須的東西,而真正用的時候還要加一些東西(比如安全和方便考慮)
第4步是vsftp+postgres中文資料中從未沒提到過的,也讓我失敗了很長時間和很多次,後來到處亂碰找到的問題所在。



[火星人 ] debainsarge下用postgresql給vsftp配置虛擬用戶已經有460次圍觀

http://coctec.com/docs/linux/show-post-67628.html