虚拟机中linux的FTP配置

340 阅读4分钟

1 设置欢迎信息

(1)进入主配置文件

vim /etc/vsftpd/vsftpd.conf

(2)编辑主配置文件

 13 #本地用户登录服务器所访问的路径
 14 local_root=/var/xxxftp/

 21 #设定开启目录标语功能
 22 dirmessage_enable=YES		//开启登陆标语
 23 message_file=.message		//登陆标语

 56 pam_service_name=vsftpd		//删除后面的.V变成这样

(3)创建主目录

mkdir /var/xxxftp
cd /var/xxxftp

(4)设置标语文件

vim .message

(5)重启服务

service vsftpd restart

(6)在服务器上创建用户

useradd xxx
passwd xxx

(7)在客户机上测试

ftp 10.10.1.10
//输入刚创建的用户名密码
quit
//退出

2 用户控制与权限

(1)在服务器上创建用户

useradd xxxsftp1
passwd xxxsftp1

(2)创建用户配置文件

cp -rf /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_user_fonf/xxxsftp1

(3)进入用户配置文件

vim /etc/vsftpd/vsftpd_user_fonf/xxxsftp1

(4)修改用户配置文件

  1 #允许匿名用户登录
  2 anonymous_enable=YES

  9 #设置允许下载
 10 download_enable=YES

 13 #本地用户登录服务器所访问的路径
 14 local_root=/var/xxxsftp

 33 #如果启动,则所有在chroot_list_file之中的使用者不能更改根目录
 34 chroot_list_enable=YES
 35 #设置chroot_list文件名
 36 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

(5)进入chroot_list文件限制用户cylstfp的操作目录为自己

vim /etc/vsftpd/vsftpd.chroot_list

//在空白文件中cylsftp1

(6)创建用户主目录并设置权限

mkdir /xxxsftp
chmod 777 /xxxsftp

(7)重启服务

service vsftpd restart

3 测试

(1)在服务器用户目录下创建文件

vim /xxxsftp/test

(2)在客户端登陆ftp

ftp 10.10.1.10
//用户名xxxsftp
//密码123456,提示登陆成功
get test xxxtest		//下载test并且命名为xxxtest
put xxxtest test2		//上传xxxtest并且命名为test2,拒绝为正确
quit

4 创建管理用户

(1)在服务器上创建用户

useradd xxxmftp1
passwd xxxmftp1

(2)创建用户配置文件

cp -rf /etc/vsftpd/vsftpd_user_fonf/xxxsftp1 /etc/vsftpd/vsftpd_user_fonf/xxxmftp1

(3)进入用户配置文件

vim /etc/vsftpd/vsftpd_user_fonf/xxxmftp1

(4)修改用户配置文件

  1 #允许匿名用户登录
  2 anonymous_enable=YES

  7 #全局控制-可以上传
  8 write_enable=YES
  9 #设置允许下载
 10 download_enable=YES

 13 #本地用户登录服务器所访问的路径
 14 local_root=/var/xxxmftp
 15 #允许匿名用户上传
 16 anon_upload_enable=YES
 17 #允许匿名用户创建目录
 18 anon_mkdir_write_enable=YES
 19 #
 20 anon_other_write_enable=YES

 33 #如果启动,则所有在chroot_list_file之中的使用者不能更改根目录
 34 chroot_list_enable=YES
 35 #设置chroot_list文件名
 36 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

(5)进入chroot_list文件限制用户cylstfp的操作目录为自己

vim /etc/vsftpd/vsftpd.chroot_list

//再次加入xxxmftp1

(6)创建用户主目录并设置权限

mkdir /xxxmftp
chmod 777 /xxxmftp

(7)重启服务

service vsftpd restart

5 测试

(1)在服务器用户目录下创建文件

vim /xxxmftp/test
vim /xxxmftp/test4

(2)在客户端登陆ftp

ftp 10.10.1.10
//用户名xxxmftp
//密码123456,提示登陆成功
get test xxxtest		//下载test并且命名为xxxtest
put xxxtest test2		//上传xxxtest并且命名为test2,拒绝为正确
mkdir test3				//创建test3目录
delete test4			//删除test4
quit

6 虚拟用户的创建及认证

(1)进入主配置文件

vim /etc/vsftpd/vsftpd.conf

(2)编辑主配置文件

 56 pam_service_name=vsftpd.v	//加上.V

(3)创建虚拟用户在本地的映射用户,并制定宿主目录

useradd xxxvftp1 -s /sbin/nologin -d /home/xxxvftp

(4)给目录配置权限

chmod 777 /home/xxxvftp

(5)创建账号密码文件

cd /etc/vsftpd
vim /etc/vsftpd/auth.txt
//第一行用户名XXXvftp1
//第二行密码123456

(6)将文件写入数据库文件中

db_load -T -t hash -f auth.txt vsftpuser.db

(7)打开vsftpd.v

vi /etc/pam.d/vsftpd.v

(8)编辑文件为

  1 #%PAM-1.0
  2 #session    optional     pam_keyinit.so    force revoke
  3 #auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/    ftpusers onerr=succeed
  4 #auth       required    pam_shells.so
  5 #auth       include system-auth
  6 #account    include system-auth
  7 #session    include system-auth
  8 #session    required     pam_loginuid.so
  9 auth    required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser
 10 account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser

(9)创建用户配置文件

cp -rf /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_user_fonf/xxxvftp1

(10)进入用户配置文件

vim /etc/vsftpd/vsftpd_user_fonf/xxxmftp1

(11)修改用户配置文件

  1 #允许匿名用户登录
  2 anonymous_enable=YES

  5 #接受本地用户登录
  6 local_enable=YES
  7 #全局控制-可以上传
  8 write_enable=YES

 13 #本地用户登录服务器所访问的路径
 14 local_root=/home/xxxvftp
 15 #允许匿名用户上传
 16 anon_upload_enable=YES
 17 #允许匿名用户创建目录
 18 anon_mkdir_write_enable=YES
 19 #
 20 anon_other_write_enable=YES

 33 #如果启动,则所有在chroot_list_file之中的使用者不能更改根目录
 34 chroot_list_enable=YES
 35 #设置chroot_list文件名
 36 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

(12)重启服务

service vsftpd restart

7 登陆测试

ftp 10.10.1.10
//用户名xxxmftp
//密码123456,提示登陆成功
quit

8 SSL加密认证

(1)进入主配置目录

cd /etc/vsftpd

(2)生成密钥和证书

openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout xxx.key -out xxx.crt
//信息直接乱填

(3)生成pem文件

cat xxx.key > xxx.pem
cat xxx.crt >> xxx.pem

(4)更改pem证书权限

chmod 400 xxx.pem

(5)将SSL证书写入ftp主配置文件

vim /etc/vsftpd/vsftpd.conf

(6)在文件末尾加入SSL证书相关信息

ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/cyl.pem

9 测试

ftp 10.10.1.10
//用户名xxxvftp,提示需要密文则成功
quit