Vsftp與PAM虛擬使用者

2021-07-25 13:41:50 字數 3605 閱讀 2455

vsftp與pam虛擬使用者

使用yum 安裝vsftp

yum install vsftpd pam pam-* db4 db4-* 

建立乙個儲存使用者及密碼的檔案

cd /etc/vsftpd/ 

touch virtual_login 

新增使用者(一行使用者一行是密碼)

vim  virtual_login 

dongnan

123456

將文字內的帳號及密碼新增到db4的資料庫檔案內

db_load -t -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db 

將vsftpd原內容全部注釋掉,並新增如下:

sed -ir 's/^/#/g' /etc/pam.d/vsftpd 

echo -n ' 

auth    required   /lib64/security/pam_userdb.so   db

=/etc/vsftpd/virtual_login 

account required   /lib64/security/pam_userdb.so   db

=/etc/vsftpd/virtual_login 

' >

>

/etc/pam.d/vsftpd 

建立乙個vsftpd服務的使用者vsftpd,你也可以使用-d來指定他的家目錄

useradd -s /sbin/nologin vsftpd 

useradd -d /var/ftp/dongnan -s /sbin/nologin dongnan 

更改 vsftpd的配置檔案

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 

awk '! /^(#|$)/' /etc/vsftpd/vsftpd.conf.bak  

#不允許匿名訪問

anonymous_enable=no

#設定本地使用者可以訪問。注意:主要是為虛擬宿主使用者,如果該專案設定為no那麼所有虛擬使用者將無法訪問

local_enable=yes

#允許寫操作

write_enable=yes

#建立或上傳後檔案的許可權掩碼

local_umask=022

#禁止匿名使用者上傳

anon_upload_enable=no

#禁止匿名使用者建立目錄

anon_mkdir_write_enable=no

#進入目錄時可以顯示一些設定的資訊,可以通過message_file=.message來設定

dirmessage_enable=yes

#開啟日誌

xferlog_enable=yes

#主動連線的埠號

#connect_from_port_20=yes

#被動連線的埠號(建議使用被動模式,這樣iptables可控制)

mkdir /etc/vsftpd/vsftpd_config/ 

建立vsftp日誌檔案

touch /var/log/vsftpd.log 

chmod 600 /var/log/vsftpd.log 

chown vsftpd.vsftpd /var/log/vsftpd.log 

建立要將哪些使用者固定在家目錄的配置檔案

vim /etc/vsftpd/chroot_list 

dongnan

將需要固定使用者目錄的使用者名字寫進去即可。

cd /etc/vsftpd/vsftpd_config/ 

cat 

>

dongnan 

<

<

eof#起用虛擬使用者,centos下yes必須為小寫字母 

guest_enable

=yes

#對映本地虛擬使用者 

guest_username

=dongnan

#如果當時建立使用者的時候鎖定乙個目錄了,那就可以不寫 

local_root

=/var/ftp/dongnan 

#使用者會話空閒後10分鐘

idle_session_timeout

=600

#將資料連線空閒2分鐘斷 

data_connection_timeout

=120

#最大客戶端連線數 

max_clients=10

#每個ip最大連線數 

max_per_ip=5

#限制上傳速率,0為無限制 

local_max_rate=0

eof 

啟動vsftp

/etc/init.d/vsftpd start 

starting vsftpd for vsftpd: 500 oops: bad bool

value in config file for: anon_upload_enable

注意: 這裡出現了 500 oops 之類的錯誤,請使用以下命令去除"多餘的空格",再次啟動vsftp 即可。

sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd.conf 

sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd_config/dongnan 

修改vsftpd的預設埠

1.編輯 /etc/vsftpd/vsftpd.conf 檔案,在該配置檔案中新增此行:listen_port=801

2.編輯 /etc/services 檔案,將其中的 ftp 21/tcp 改為 ftp 801/tcp , ftp

21/udp

改為 ftp 801/udp

3.執行 /etc/init.d/vsftpd restart 重新啟動 vsftpd 服務。啟動完成後可以使

用 netstat -ntpl | grep vsftpd 命令可以檢視到系統現

監聽的 vsftpd 的埠為 801

yum install ftp 安裝ftp命令

4.使用 ftp 192.168.0.1:801(192.168.0.1 是 vsftpd 伺服器的位址 ),然後輸入賬號密碼

dongnan、123456 

這樣既可以訪問到 ftp 伺服器了。

參考第二十一章、檔案伺服器之三: ftp 伺服器

9.4 

帳號和組配置檔案

小知識:

/sbin/nologin和/bin/false的區別 

/bin/false是最嚴格的禁止login選項,一切服務都不能用,而/sbin/nologin只是不允許系統login,可以使用其他ftp等服務。

本文出自 「dongnan」 部落格,請務必保留此出處

Vsftp與PAM虛擬使用者

使用yum 安裝vsftp yum install vsftpd pam pam db4 db4 建立乙個儲存使用者及密碼的檔案 cd etc vsftpd touch virtual login 新增使用者 一行使用者一行是密碼 vim virtual login dongnan nandong ...

ftp虛擬使用者管理與pam認證

1.建立虛擬使用者 2.虛擬使用者加密 db load t t hash f etc vsftpd loginusers etc vsftpd loginusers.db 3.對虛擬使用者設定pam認證 建立認證檔案 修改配置檔案,讓vsftpd對虛擬使用者採用pam認證方式 虛擬使用者指定家目錄 ...

vsftp高階 虛擬使用者配置

今天繼續配置vsftp,主要想增加一些使用者控制,實現不同使用者不同許可權 實現三個使用者的不同許可權 a.upload 能刪除檔案和資料夾,不能重新命名原有檔案和資料夾 b.download c.admin使用者 這些使用者都 不能登入系統,並且用 ftp連線時鎖定在自己的家目錄中不能進入系統資料...