linux下安裝vsftp服務和設置虛擬用戶訪問

1、首先,查看是否安裝vsftpd linux

沒有,則安裝ide

yum -y install vsftpd工具

2、創建虛擬用戶登錄管理ftpui

vsftpd的用戶分3種,都是能夠登錄ftp的,一個是匿名用戶,一個是本地用戶和一個是虛擬用戶。當咱們要開放用戶管理的時候,推薦使用虛擬用戶。spa

(1)首先,看看vsftpd中咱們須要做出怎樣的配rest

Vi  /etc/vsftpd/vsftpd.conf日誌

爲了支持虛擬用戶的配置,在vsftpd.conf中咱們須要更改如下配置項:ci

anonymous_enable=NO    設定不容許匿名訪問
local_enable=YES             設定本地用戶能夠訪問。
chroot_list_enable=YES    使用戶不能離開主目錄
xferlog_file=/var/log/vsftpd.log     設定vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必需要手動touch出來
ascii_upload_enable=YES
ascii_download_enable=YES         設定支持ASCII模式的上傳和下載功能
pam_service_name=vsftpd           PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證權限控制

guest_enable=YES         設定啓用虛擬用戶功能
guest_username=ftp      指定虛擬用戶的宿主用戶-默認已經有內置的ftp用戶了(可換成其餘本地帳號)
user_config_dir=/etc/vsftpd/vuser_conf      設定虛擬用戶我的vsftpCentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名)hash

建立chroot list,將用戶ftp加入其中: 
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list

(2)進行認證: 
首先,建立用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼

命令:vi /etc/vsftpd/vuser_passwd.txt

其中wenan是高級帳號,wenan_m是中級,wenan_l是低級,其他部門相似。
接着,.生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

若是沒安裝Berkeley DB工具,運行命令安裝
隨後,編輯認證文件/etc/pam.d/vsftpd,所有註釋掉原來語句
再增長如下兩句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最後,建立虛擬用戶個性FTP服務文件(以wenan高級帳號爲例)

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/wenan(注文件名等於vuser_passwd.txt裏面的帳戶名,不然下面設置無效
內容以下:

local_root=/var/www/wenan 虛擬用戶(文案部門對應)的根目錄
write_enable=YES 可寫
anon_umask=022 掩碼
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

以上是高級帳號的配置,其餘權限根據須要可自行修改

------------------------------------------------------------------------------------------------

(3)Ps用戶權限控制的一些配置

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

當virtual_use_local_privs=YES,write_enable=YES時,虛擬用戶具備寫權限(上傳、下載、刪除、重命名)。

當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES時,虛擬用戶不能瀏覽目錄,只能上傳文件,無其餘權限。

當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO時,虛擬用戶只能下載文件,無其餘權限。

當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES時,虛擬用戶只能上傳和下載文件,無其餘權限。

當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES時,虛擬用戶只能下載文件和建立文件夾,無其餘權限。

當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES時,虛擬用戶只能下載、刪除和重命名文件,無其餘權限。

3、啓動vsftp

service vsftpd start   開啓命令

service vsftpd restart 重啓

service vsftpd stop   中止

(注意,啓動前記得關門selinux或者解除selinux阻止)

解除selinux阻止

setsebool -P ftpd_disable_trans 1

查看selinux狀態

/usr/sbin/sestatus -v

關閉SELinux:

一、臨時關閉(不用重啓機器):

setenforce 0                  ##設置SELinux 成爲permissive模式

                              ##setenforce 1 設置SELinux 成爲enforcing模式

二、修改配置文件須要重啓機器:

修改/etc/selinux/config 文件

將SELINUX=enforcing改成SELINUX=disabled

最後,訪問成功

相關文章
相關標籤/搜索