Linux下vsftp基於虛擬使用者訪問

2021-08-21 04:49:09 字數 3785 閱讀 4553

//系統

# cat /etc/redhat-release

centos linux release 7.3

.1611 (core)

# uname -r

3.10

.0-514.el7.x86_64

//關閉selinux

# setenforce 0

# sed -i "s/selinux=enforcing/selinux=disabled/g" /etc/selinux/config

//防火牆設定

# firewall-cmd --get-service //檢視在firewall中的服務名稱

# firewall-cmd --zone=public --permanent --add-service=ftp //開啟ftp服務

# firewall-cmd --reload //重新載入,更新防火牆規則

# systemctl restart firewalld //重啟防火牆

# firewall-cmd --state //檢視firewall的狀態

//安裝ftp

# yum -y install vsftpd

//檢視ftp在selinux的許可權

# getsebool -a | grep ftp

getsebool: selinux is disabled

//vsftpd虛擬使用者管理:虛擬使用者就是沒有實際的真實系統使用者,而是通過對映到其中乙個真實使用者以及設定相應的許可權來實現訪問驗證,虛擬使用者不能登入linux系統,從而讓系統更加的安全可靠。

//虛擬使用者需用到的軟體及認證模組

# yum -y install pam* libdb-utils libdb*

//建立虛擬使用者臨時檔案/etc/vsftpd/ftpusers.txt,新建虛擬使用者和密碼,其中ftpuser001、ftpuser002為虛擬使用者名稱,ftp2345為密碼,如果有多個使用者,依次格式填寫即可

# cat /etc/vsftpd/ftpusers.txt

ftpuser001

ftp2345

ftpuser002

ftp2345

//生成vsftpd虛擬使用者資料庫認證檔案,設定許可權700

# db_load -t -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db

# chmod 700 /etc/vsftpd/vsftpd_login.db

//配置pam認證檔案,/etc/pam.d/vsftpd行首加入如下兩行

# cat /etc/pam.d/vsftpd

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

//所有vsftpd虛擬使用者需要對映到乙個系統使用者,該系統使用者不需要密碼,也不需要登入,主要用於虛擬使用者對映使用,建立命令如下:

# useradd -s /sbin/nologin ftpuser

//完整配置檔案如下

# cat /etc/vsftpd/vsftpd.conf |grep -v "#"

anonymous_enable=no

local_enable=yes

write_enable=yes

local_umask=022

dirmessage_enable=yes

xferlog_enable=yes

connect_from_port_20=yes

xferlog_file=/var/log/xferlog

xferlog_std_format=yes

listen=no

listen_ipv6=yes

pam_service_name=vsftpd

userlist_enable=yes

guest_enable=yes

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=yes

//引數 config virtual user ftp

pam_service_name=vsftpd //虛擬使用者啟用pam認證;

guest_enable=yes

//啟用虛擬使用者;

guest_username=ftpuser //對映虛擬使用者至系統使用者ftpuser;

user_config_dir=/etc/vsftpd/vsftpd_user_conf //設定虛擬使用者配置檔案所在的目錄;

virtual_use_local_privs=yes

//虛擬使用者使用與本地使用者相同的許可權。

# mkdir -p /etc/vsftpd/vsftpd_user_conf

//分別為虛擬使用者ftpuser001/ftpuser002建立配置檔案,同時建立私有虛擬目錄

# cat /etc/vsftpd/vsftpd_user_conf/ftpuser001

local_root=/home/ftpuser/ftpuser001

write_enable=yes

anon_world_readable_only=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

# cat /etc/vsftpd/vsftpd_user_conf/ftpuser002

local_root=/home/ftpuser/ftpuser002

write_enable=yes

anon_world_readable_only=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

# mkdir -p /home/ftpuser/

# chown -r ftpuser:ftpuser /home/ftpuser/

//虛擬使用者配置檔案內容詳解:

local_root=/home/ftpuser/ftpuser001 //ftpuser001虛擬使用者配置檔案路徑;

write_enable=yes

//允許登陸使用者有寫許可權;

anon_world_readable_only=yes

anon_upload_enable=yes

//允許匿名使用者上傳檔案,只有在write_enable=yes時該引數才生效;

anon_mkdir_write_enable=yes

//允許匿名使用者建立目錄,只有在write_enable=yes時該引數才生效;

anon_other_write_enable=yes

//允許匿名使用者其他許可權,例如刪除、重新命名等。

//重啟vsftpd服務以及測試

# systemctl restart vsftpd.service

**

Linux下搭建FTP服務 基於vsftp

vsftp 配置 config vsftpd.conf 啟動服務 ftp遇見的錯誤 selinux 參考鏈結 下面介紹 vsftpd 這款服務端軟體的使用,ftp 在使用者認證時,會使用系統中的使用者進行身份認證,同時 ftp 支援虛擬使用者,虛擬使用者最終也需要對映為系統中的某個使用者,會被對映為...

vsftp 基於虛擬使用者的分配

1.安裝vsftpd,yum install vsftpd 2.新建虛擬使用者口令檔案 vi etc vsftpd vftpuser.txt user 奇數行 password 偶數行 3.生成口令的認證檔案 db load t t hash f etc vsftpd vftpuser.txt et...

Linux下新增vsftp使用者的方法

在linux 下新增vsftp的使用者 一 新增 linux 使用者.新增使用者 useradd s sbin nologin 使用者名稱 設定密碼 passwd 使用者名稱 二 新增使用者到vsftp的配置檔案中。開啟配置檔案 vi etc vsftpd vsftpd.conf 通過檢視以上配置檔...