vsftp
+mysql
虛擬使用者配置
1、安裝
vsftp
軟體vsftp
(最新版本)軟體:
wget
如果要開始
ssl功能的話,安裝
vsftp
之前要先安裝
openssl-0.9.8g.tar.gz
包[root@server2
ftp]# tar xzvf openssl-0.9.8g.tar.gz
[root@server2
ftp]# cd openssl-0.9.8g
[root@server2
openssl-0.9.8g]# ./config
[root@server2
openssl-0.9.8g]# make && make install
安裝vsftp
:[root@server2
ftp]# tar xzvf vsftpd-2.1.0.tar.gz
[root@server2
ftp]# cd vsftpd-2.1.0
[root@server2
vsftpd-2.1.0]# vi builddefs.h
#ifndef
vsf_builddefs_h
#define
vsf_builddefs_h
#undef
#define
vsf_build_pam
#undef
vsf_build_ssl
#endif /*
vsf_builddefs_h */
把undef
都更改成
define,支援
,支援pam
認證方式,支援
ssl不知道為什麼用
2.10.0
版本的時候
make
的時候老是出現:
ssl.o(.text+0x760): in function
`ssl_cert_digest':
: undefined reference to `evp_sha256'
collect2: ld returned 1 exit status
make: *** [vsftpd] error 1
所以換成
2.0.3
版本![root@server2
vsftpd-2.0.3]# make
[root@server2
vsftpd-2.0.3]# ls -l vsftpd
-rwxr-xr-x1 root root 85932 mar 23 14:53 vsftpd//
可執行程式安裝成功
建立必要的帳號,目錄:
# useradd nobody //
可能你的系統已經存在此帳號,那就不用建立
# mkdir /usr/share/empty //
可能你的系統已經存在此目錄,那就不用建立
# mkdir /var/ftp //
可能你的系統已經存在此目錄,那就不用建立
# useradd -d /var/ftp ftp //
可能你的系統已經存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓使用者在本地登陸,那麼你需要把他的登陸
shell
設定成/sbin/nologin
,比如以上的
nobody
和ftp
我就設定成
/sbin/nologin
安裝vsftp
配置檔案,可執行程式,
man等
:# install -m 755 vsftpd /usr/local/sbin/vsftpd
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd.conf
這樣vsftp
的安裝就完成了
2、安裝
mysql
資料庫,並進行相關的設定
mysql
的安裝就不說了,這裡只說明對
mysql
(1)建立乙個庫並設定相應許可權
[root@server2
vsftpd-2.0.3]# mysql –uroot
mysql>create database ftpd;
mysql>use ftpd;
mysql>create table user(name char(20) binary,passwd char(20) binary);
mysql>insert into user (name,passwd) values ('zhang1','123456');
mysql>insert into user (name,passwd) values ('zhang2','654321');
mysql>grant select on ftpd.user to ftpd@localhost identified by '123456';
mysql>flush privileges;
重新整理許可權設定
mysql>quit
(2)測試
ftpd
對資料庫的許可權是否ok!
3、pam-mysql
[root@server2 ftp]#
tar xzvf pam_mysql-0.5.tar.gz
[root@server2 ftp]#
cd pam_mysql
[root@server2
pam_mysql]# cp pam_mysql.so/lib/security/
4、建立
pam認證資訊
vi /etc/pam.d/ftp ,
內容如下
auth required /lib/security/pam_mysql.so user=ftpd passwd=123456 host=localhost
db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=ftpd passwd=123456
host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
注意:crypt= n
crypt=0:
明文密碼
crypt=1:
使用crpyt()函式(
對應sql
資料裡的
encrypt()
,encrypt()
隨機產生
salt)
crypt=2:
使用mysql
中的password()
函式加密
crypt=3
:表示使用
md5的雜湊方式
5、建立本地虛擬使用者:
useradd -d /home/ftpd
-s /sbin/nologin ftpd
6、修改配置檔案
:anonymous_enable=no
local_enable=yes
write_enable=yes
local_umask=022
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
chroot_local_user=yes
guest_enable=yes
guest_username=ftpd
listen=yes
listen_port=21
pasv_enable=yes
pasv_min_port=30000
pasv_max_port=30999
anon_world_readable_only=no
virtual_use_local_privs=yes
7、啟動
vsftpd
/usr/local/sbin/vsftpd /etc/vsftpd.conf &//
後台執行!
8、test
[root@server2 vsftpd-2.0.3]# ftp 127.0.0.1
connected to 127.0.0.1.
220 (vsftpd 2.0.3)
530 please login with user and pass.
530 please login with user and pass.
kerberos_v4 rejected as an authentication
type
name (127.0.0.1:root): zhang1
331 please specify the password.
password:
230 login successful.\\
已經登入成功了!
remote system type is unix.
using binary mode to transfer files.
ftp> quit
221 goodbye.
ubuntu 12 04 vsftp 虛擬使用者配置
伺服器環境 ubuntu 12.04 vsftpd版本 2.3.5 這個版本有點坑爹 安裝過程都很簡單,下面簡單的記錄下 sudo apt get install vsftpd 安裝vsftpd sudo apt get install db5.1 util 這裡可以按tab鍵會有提示,一般裝最高版...
虛擬當前使用者
很多時候使用登錄檔操作是不安全的,因此很多重要的場合是不會使用登錄檔操作去達到目的的。但不可否認在很多小的地方,使用登錄檔操作是十分方便而 且直接有效的。有些內容的登錄檔操作時常會涉及到當前使用者的操作,在登錄檔中就體現在了hkey current user的子項上 系統通常情況下只具 有如下 hk...
虛擬使用者介紹
可能的使用情況有 需要建立使用者配置檔案但不需要密碼 並且能夠在需要時安全地新增 這樣做的好處是對於這些場景你不需要建立乙個含有密碼保護並且完整的使用者配置檔案。正如你所看到 onregistercompleted 會立刻返回乙個有效的 kii 使用者,可以通過 kiiuser.getcurrent...