一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Centos 7.5 搭建FTP配置虛擬用戶

 行者花雕 2022-09-06 發(fā)布于北京

Centos 7.5 搭建FTP配置虛擬用戶

1.安裝vsftpd

#vsftpd下載地址

http://mirror./centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm

#安裝vsftpd

rpm  -ivh vsftpd-3.0.2-25.el7.x86_64.rpm

 

2.創(chuàng)建vsftpd系統(tǒng)用戶

#建立Vsftpd服務的宿主用戶

useradd vsftpd -M -s  /sbin/nologin

#建立Vsftpd虛擬宿主用戶

useradd virftpuser -M -s /sbin/nologin –d /var/ftp/

 

3.配置vsftpd

mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsfftpd.conf.bak

#新建vsftpd.conf

vim  /etc/vsftpd/vsftpd.conf

內(nèi)容如下:

anonymous_enable=NO

#設成YES,允許匿名用戶登陸

local_enable=YES

#允許/禁止本地用戶登陸 注意:主要是為虛擬宿主用戶,如果該項目設定為NO那么所有虛擬用戶將無法訪問。

write_enable=YES

#設定可以進行寫操作。

local_umask=022

#設定上傳后文件的權限掩碼,文件644,文件夾755

dirmessage_enable=YES

#設定開啟目錄標語功能

xferlog_enable=YES

#設定開啟日志記錄功能。

connect_from_port_20=YES

#設定端口20進行數(shù)據(jù)連接

xferlog_std_format=YES

#設定日志使用標準的記錄格式

listen=YES

#開啟獨立進程vsftpd,不使用超級進程xinetd。設定該Vsftpd服務工作在StandAlone模式下。

pam_service_name=vsftpd

#設定,啟用pam認證,并指定認證文件名/etc/pam.d/vsftpd

userlist_enable=YES

#設定userlist_file中的用戶將不得使用FTP

tcp_wrappers=YES

#設定支持TCP Wrappers

chroot_local_user=YES

#限制所有用戶在主目錄

#限制所有用戶在主目錄

#以下這些是關于Vsftpd虛擬用戶支持的重要配置項目。默認Vsftpd.conf中不包含這些設定項目,需要自己手動添加配置

guest_enable=YES

#設定啟用虛擬用戶功能

guest_username=virftpuser

#指定虛擬用戶的宿主用戶

virtual_use_local_privs=YES

#設定虛擬用戶的權限符合他們的宿主用戶

user_config_dir=/etc/vsftpd/vconf

#設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,

#一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。

 

 

#建立Vsftpd的日志文件,修改屬主為vsftpd服務用戶

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

 

4.虛擬用戶配置

#創(chuàng)建虛擬用戶配置文件存放路徑

mkdir –pv /etc/vsftpd/vconf/

#制作虛擬用戶數(shù)據(jù)庫文件

vim /etc/vsftpd/virtusers

#編輯虛擬用戶名單文件virtusers,在其中加入用戶的用戶名和口令信息。格式:“奇數(shù)行用戶名,偶數(shù)行口令”。

virtusers文件格式如下:

test       #用戶名

test1234   #用戶密碼

test1          #用戶名

test1234    #用戶密碼

#生成虛擬用戶數(shù)據(jù)文件:

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#添加用戶需添加至virtusers文件,然后重新執(zhí)行上述命令。

5. 設置認證文件PAM

#備份配置文件
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
#編輯Vsftpd的PAM驗證配置文件,把原來的配置文件全部注釋掉(不注釋掉虛擬用戶會登錄不上),添加如下行
auth    sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers
account sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers

#以上兩條是手動添加的,內(nèi)容是對虛擬用戶的安全和帳戶權限進行驗證。

這里的auth是指對用戶的用戶名口令進行驗證。

這里的accout是指對用戶的帳戶有哪些權限哪些限制進行驗證。

其后的sufficient表示充分條件,也就是說,一旦在這里通過了驗證,那么也就不用經(jīng)過下面剩下的驗證步驟了。相反,如果沒有通過的話,也不會被系統(tǒng)立即擋之門外,因為sufficient的失敗不決定整個驗證的失敗,意味著用戶還必須將經(jīng)歷剩下來的驗證審核。

再后面的/lib/security/pam_userdb.so表示該條審核將調(diào)用pam_userdb.so這個庫函數(shù)進行。

最后的db=/etc/vsftpd/virtusers則指定了驗證庫函數(shù)將到這個指定的數(shù)據(jù)庫中調(diào)用數(shù)據(jù)進行驗證。

---------------------------------------------------------------------------------
vim /etc/pam.d/vsftpd
#%PAM-1.0
auth    sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers
account sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth
 
 

6.虛擬用戶配置

#虛擬用戶權限介紹
例,分別創(chuàng)建admin web download upload 4個賬戶,
權限分配如下:
admin  #管理員賬戶,虛擬用戶具有寫權限(上傳、下載、刪除、重命名),新建目錄

 

web   #web網(wǎng)站文件傳輸賬戶, 和admin管理員權限相同,由于web頁面的特殊性,故單獨設置上傳文件權限為755

 

download  #下載賬戶,只能瀏覽目錄和下載

 

upload     #上傳賬戶,只能新建目錄和上傳、下載

 

#各虛擬用戶配置文件如下:

#admin

local_root=/home/ftp           #虛擬用戶根目錄

anon_world_readable_only=NO   #開放下載權限

write_enable=YES               #寫權限

anon_mkdir_write_enable=YES    #新建目錄權限

anon_upload_enable=YES        #上傳權限

anon_other_write_enable=YES    #刪除/重命名的權限

 

#web

local_root=/var/www             #虛擬用戶根目錄

anon_world_readable_only=NO   #開放下載權限

anon_umask=022    #umask =022時,新建的目錄權限是755(777-022),文件的權限是 644,

#umask =077時,新建的目錄權限是700,文件的權限時 600

write_enable=YES (寫權限)
anon_mkdir_write_enable=YES (新建目錄權限)
anon_upload_enable=YES(上傳權限)
anon_other_write_enable=YES(刪除/重命名的權限)

 

#download

local_root=/home/ftp             #虛擬用戶根目錄

anon_world_readable_only=NO   #開放下載權限, 寫YES,將不能列出文件和目錄

anon_mkdir_write_enable=NO    #這句可以不寫,不寫同樣不能新建文件夾

 

#upload

local_root=/home/ftp              #虛擬用戶根目錄

virtual_use_local_privs=NO        #虛擬用戶和匿名用戶有相同的權限,默認是NO;與本地用戶權限相同是YES

anon_world_readable_only=NO    #開放下載權限,寫成YES,將不能列出文件和目錄

write_enable=YES                #寫權限

anon_upload_enable=YES         #上傳權限

 

#創(chuàng)建虛擬用戶根目錄,這里我使用默認目錄 /var/ftp/pub/

#屬主修改為虛擬宿主用戶virftpuser

chown –R virftpuser:virftpuser  /vat/ftp/pub/

#在虛擬用戶配置文件目錄創(chuàng)建虛擬用戶對應配置文件,文件名與虛擬用戶名一致

vim   /etc/vsftpd/vconf/username          #配置文件內(nèi)容根據(jù)需求自行配置。

 

 

 

7.firewall和SElinux設置

#如無特殊要求可直接關閉firewall和SElinux

 

firewall-cmd --list-services                    #查看防火墻允許的服務。

firewall-cmd --add-service=ftp --permanent     #永久開放ftp服務

firewall-cmd --add-port=20/tcp –permanent     

firewall-cmd --add-port=21/tcp --permanent     #開放端口,允許外網(wǎng)訪問

firewall-cmd –reload                         #重新載入配置

setsebool ftpd_full_access 1                  #selinux設置

setsebool tftp_home_dir 1

 

8.啟動服務,測試

systemctl start vsftpd                         #啟動vsftpd

systemctl enable vsftpd                       #添加服務至開機啟動

 

#測試需安裝ftp軟件

ftp

>open 127.0.0.1

 

9. vsftpd單用戶多目錄的配置

#可讀寫掛載

mount --bind /home/test1/ /data/www/virtual/test1/

#只讀掛載

mount –bind –o ro /home/test2/ /data/www/virtual/test2/

 

#mount --bind連接的兩個目錄的inode號碼并不一樣,只是目標目錄的block被屏蔽掉,inode被重定向到原目錄的inode (目標目錄的inode和block依然沒變,就是說目標目錄只是隱藏不是刪除,數(shù)據(jù)都沒有改變,只是訪問不到了)

#兩個目錄的對應關系存在于內(nèi)存里,一旦重啟掛載關系就不存在了,所以我們想要服務器重啟之后還有效的話就需要寫到/etc/rc.local

或修改fstab文件。

 

#fstab文件格式

# /home/test1/     /data/www/virtual/test1/             xfs     bind    0 0

#/home/test2/     /data/www/virtual/test2/             xfs     bind,ro  0 0

 

 

#修改rc.local

vim /etc/rc.local

#添加如下內(nèi)容

#可讀寫掛載

mount --bind /home/test1/ /data/www/virtual/test1/

#只讀掛載

mount --bind /home/test2/ /data/www/virtual/test2/

mount -o remount,ro /data/www/virtual/test2/

 

#權限設置

chmod +x /etc/rc.d

chmod +x /etc/rc.d/rc.local

#設置服務啟動腳本。

cd /usr/lib/systemd/system

vim rc-local.service

注釋掉之前內(nèi)容,添加以下內(nèi)容

[Unit]

Description=/etc/rc.d/rc.local Compatibility

ConditionFileIsExecutable=/etc/rc.d/rc.local

After=network.target

 

[Service]

Type=forking

ExecStart=/etc/rc.d/rc.local start

TimeoutSec=0

RemainAfterExit=yes

SysVStartPriority=99

 

[Install]

WantedBy=multi-user.target

 

#啟動服務

systemctl start rc-local

systemctl enable rc-local

 

10.常見問題

1.centos7 550 create directory operation failed

目錄權限不足,SElinux配置問題

 

2.500 OOPS: vsftpd: refusing to run with writable root inside chroot()

原因

用戶主目錄具有寫權限,chmod a-w ,去除寫權限

或在用戶配置文件追加 allow-writeable_chroot=yes,

echo “allow_writeable_chroot=YES” >> /etc/vsftpd/vconf/$username

 

3.開啟了匿名模式,但訪問一直提示輸入用戶及密碼

原因1

參數(shù)不對造成,添加anon_umask=022

原因2

根目錄權限不對

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美亚洲综合另类色妞| 午夜精品福利视频观看| 国产肥妇一区二区熟女精品| 国产a天堂一区二区专区| 加勒比东京热拍拍一区二区| 国产一区二区不卡在线视频| 色综合伊人天天综合网中文| 欧美日韩乱一区二区三区| 欧美区一区二在线播放| 精品国产亚洲av久一区二区三区 | 成年人视频日本大香蕉久久| 日韩精品亚洲精品国产精品| 久久精品国产一区久久久| 91日韩欧美国产视频| 久久精品蜜桃一区二区av| 欧美一区二区三区性视频| 99久久免费看国产精品| 国产免费人成视频尤物| 日韩丝袜诱惑一区二区| 国产精品成人一区二区三区夜夜夜| 亚洲欧美中文字幕精品| 日韩三极片在线免费播放| 亚洲做性视频在线播放| 丝袜人妻夜夜爽一区二区三区| 视频一区二区 国产精品| 国产丝袜女优一区二区三区| 成人国产激情在线视频| 欧美在线视频一区观看| 日本加勒比不卡二三四区| 91精品视频免费播放| 久热99中文字幕视频在线| 男人操女人下面国产剧情| 五月综合激情婷婷丁香| 99久久精品国产日本| 日韩一区二区免费在线观看| 国产精品一区二区有码| 日本加勒比在线观看一区| 欧美色婷婷综合狠狠爱| 一级欧美一级欧美在线播| 99久久国产精品亚洲| 亚洲一区在线观看蜜桃|