亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

vsftp虛擬用戶形式的實現
2006-08-22   Linux聯盟收集

在Readhat as4下編譯通過
#tar zxf vsftpd-2.0.3.tar.gz

# cd vsftpd-2.0.3 //進入vsftpd-2.0.3的源代碼目錄

# vi builddefs.h //編輯builddefs.h 文件,文件內容如下:

#ifndef VSF_BUILDDEFS_H



#define VSF_BUILDDEFS_H

#define VSF_BUILD_TCPWRAPPERS

#undef VSF_BUILD_PAM

#define VSF_BUILD_SSL



#endif /* VSF_BUILDDEFS_H */

將以上undef都改為define,支持tcp_wrappers,支持PAM認證方式,支持SSL



# make //直接在vsftpd-2.0.3里用make編譯

# ls -l vsftpd

-rwxr-xr-x 1 root root 86088 Jun 6 22:26 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,



安裝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

這樣就安裝完成了,那么我們開始進行簡單的配置



對于用DB庫存儲用戶名及密碼的方式來說:

(1)查看系統是否有相應軟件包

# rpm –qa | grep db4

db4-devel-4.2.52-7.1

db4-4.2.52-7.1

db4-utils-4.2.52-7.1

(2)建立一個logins.txt的文件,單行為用戶名,雙行為密碼,例如

# vi /home/logins.txt

test1

12345

test2

12345



(3)建立數據庫文件并設置文件屬性

# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db

# chmod 600 /etc/vsftpd_login.db

(4)建立認證文件

# vi /etc/pam.d/ftp 插入如下兩行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

(5)建立一個虛擬用戶

useradd -d /home/vsftpd -s /sbin/nologin vsftpd

只要更改這個虛擬用戶的目錄,那么ftp登錄之后的目錄也就隨之更改



ls -ld /home/vsftpd

drwx------ 3 vsftpd vsftpd 1024 Jun 6 22:55 /home/vsftpd/



(6)編寫配置文件

# vi /etc/vsftpd.conf

listen=YES //使用standalone啟動vsftpd

listen_port=2121

max_clients=100 //可接受的最大連接數

max_per_ip=5 //每個IP最大的連接數

local_max_rate=5120000 //本地用戶的傳輸比率(b/s)

tcp_wrappers=YES //支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)



anonymous_enable=NO //禁用匿名賬戶

local_enable=YES //PAM方式此處必須為YES

write_enable=NO //全局控制不可以上傳

anon_upload_enable=NO //匿名用戶不可以上傳

anon_mkdir_write_enable=NO //匿名用戶不可以建目錄

anon_other_write_enable=NO //匿名用戶不可以修改

chroot_local_user=YES //不充許用戶更改根目錄



guest_enable=YES

guest_username=vsftpd //這兩行的意思是采用虛擬用戶形式

virtual_use_local_privs=YES //虛擬用戶和本地用戶權限相同

user_config_dir=/etc/vsftpd_user_conf //定義虛擬用戶配置文件目錄



pasv_enable=YES //建立資料聯機采用被動方式

pasv_min_port=30000 //建立資料聯機所可以使用port 范圍的上界,0表示任意。默認值為0。

pasv_max_port=30999 //建立資料聯機所可以使用port 范圍的下界,0表示任意。默認值為0。



xferlog_enable=YES //開啟日志記錄

xferlog_file=/var/log/vsftpd.log //日志存放文件位置



idle_session_timeout=600 //空閑連接超時

data_connection_timeout=120 //數據傳輸超時

accept_timeout=60 //PAVS請求超時

connect_timeout=60 // PROT模式連接超時





(7)建立每個用戶的根目錄、配置文件的目錄和配置文件

# mkdir /home/vsftpd/test1

# mkdir /etc/vsftpd_user_conf

# vi /etc/vsftpd_user_conf/test1 文件內容如下

local_root=/home/vsftpd/test1

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES



# vi /etc/vsftpd_user_conf/test2 文件內容如下

local_root=/home/vsftpd/test1

write_enable=NO

anon_world_readable_only=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO





# chmod 700 /home/vsftpd/test1

# chown vsftpd.vsftpd /home/vsftpd/test1



這樣,test1用戶可以下載、上傳、修改 /home/vsftpd/test1里的文件,而test2用戶只能下載/home/vsftpd/test1里面的文件。



(8)啟動程序 、測試

熱詞搜索:

上一篇:在linux操作系統下JDK的安裝與配置
下一篇:解決局域網內盜用 IP 的安全問題

分享到: 收藏