Linux 環境下FTP環境設置(用戶添加與權限配置)


VSFTP(FTP)環境支持系統用戶與虛擬用戶兩種形式

一、使用系統用戶登入

1、環境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/test

2、建用戶:在root用戶下:

useradd -d /home/test test //增加用戶test,並制定test用戶的主目錄為/home/test
chown -R test.test /home/data01/itim/

passwd test //為test設置密碼

3、更改用戶相應的權限設置:

usermod -s /sbin/nologin test //限定用戶test不能telnet,只能ftp
usermod -s /sbin/bash test //用戶test恢復正常
usermod -d /test test //更改用戶test的主目錄為/test

4、限制用戶只能訪問/home/test,不能訪問其他路徑

修改/etc/vsftpd/vsftpd.conf如下:

chroot_list_enable=YES //限制訪問自身目錄
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

編輯 vsftpd.chroot_list文件,將受限制的用戶添加進去,每個用戶名一行

改完配置文件,不要忘記重啟vsFTPd服務器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart

5、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的權限:

usermod -s /usr/bin/passwd test //用戶telnet后將直接進入改密界面

6、FTP 開啟被動模式並指定端口段
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50050

listen_port=5001
ftp_data_port=5000
pasv_address=222.83.7.145
connect_from_port_20=YES

7、從2.3.5之后,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,
就會報錯誤:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列兩項中的一項:

allow_writeable_chroot=YES

8、解決500 OOPS: vsftpd: cannot locate user specified in 錯誤
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

找到:
anonymous_enable=YES
修改為:
anonymous_enable=NO

二、配置ftp 虛擬用戶
1、root@localhost ~]#vi /etc/vsftpd/vsftpd.conf

取消下面內容前面的注釋或添加
anonymous_enable=YES/NO 是否允許匿名用戶訪問
chroot_list_enable=YES   限定用戶不可以離開主目錄
chroot_list_file=/etc/vsftpd/chroot_list 
loca_enable=YES/NO 本地用戶是否可以訪問 注:如果為NO 則所有虛擬用戶都將不能訪問原因:虛擬用戶訪問在主機上其實是以本地用戶訪問的
pam_service_name=vsftpd pam認證文件名在/etc/pam.d/vsftpd
guest_enable=YES 啟用虛擬用戶功能
guest_username=ftp 指定虛擬用戶的宿主用戶 –centos 里面已經有內置的ftp用戶了(注:此用戶在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用戶)
user_config_dir=/etc/vsftpd/users 設置虛擬用戶個人vsftp的服務配置文件
2、編輯個人服務配置文件
cd /etc/vsftpd/users
[root@slave45 users]# ls
dpi3g dpi4g gwdpi
[root@slave45 users]# vim dpi3g
local_root=/home/dpi3g/ftp
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. 創建虛擬用戶目錄(密碼文本)
[root@localhost ~]#vi /etc/vsftpd/vm_user.txt(奇數行為用戶名 ,偶數行為密碼)
gwdpi
gwdpi_XXXX!@#123
dpi3g
dpi3g_XXXX!@#123
dpi4g
dpi4g_XXXX!@#123
4、生成虛擬用戶的db文件
#db_load -T -t hash -f /etc/vsftpd/vm_user.txt /etc/vsftpd/vm_user.db
#chmod 600 /etc/vsftpd/vm_user.db
4、新建一個虛擬用戶的PAM文件。加上如下兩行內容:

#vi /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vm_user
account required pam_userdb.so db=/etc/vsftpd/vm_user
5、給文夾權限(否則不能上傳 權限可自定 本人給的是 777)
chmod 777 /var/www/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM