linux中ftp文件传输协议,本地用户,匿名用户,虚拟用户的管理(上传,下载,删除等),ftp虚拟用户的设定,虚拟用户的家目录设定和配置独立

##############ftp服务文件传输协议###
两台主机需在同一网段
在服务端主机上:

 yum install vsftpd.x86_64 -y


 systemctl start vsftpd

 systemctl enable vsftpd 


 firewall-cmd --list-all   ##列出火墙状态


 firewall-cmd --permanent --add-service=ftp ##永久添加ftp服务

 firewall-cmd --reload     ##重新加载火墙设置

 firewall-cmd --list-all   ##列出火墙状态


 在客户端主机上:

 yum install lftp


 lftp ip
 lftp 172.25.254.61   ##连接服务端
 lftp 172.25.254.61:~> cd pub          
 cd ok, cwd=/pub

 lftp 172.25.254.61:/pub> ls


默认发布目录: /var/ftp
协议接口:   21/tcp
服务配置文件:  /etc/vsftpd/vsftpd.conf
报错id的解析:
            500  ##文件系统权限过大
            530  ##用户认证失败
            550  ##服务本身功能未开放
            553  ##本地文件系统权限过小     
###每次修改后都要重启

sysytemctl restart vsftpd

匿名用户

anonymous_enable=YES|NO   ##匿名用户是否可以登陆


本地用户
local_enable=YES|NO     ##本地用户是否可以登陆
write_enable=YES|NO     ##ftp是否对登陆用户可写
#匿名用户家目录修改
anon_root=/direcotry
先建立目录

mkdir /ftpdir/westosdir -p  再进行修改


###匿名用户上传##
vim /etc/vsftpd/vsftpd.conf

write_enable=YES


anon_upload_enable=YES


chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub


##匿名用户下载##

anon_world_readable_only=YES|NO(需要写进配置文件,改成NO就可以下载)


##匿名用户删除##

anon_other_write_enable=YES|NO(需要写进配置文件,改成YES就可删除)


##匿名用户建立目录##

anon_mkdir_write_enable=YES|NO


##匿名用户文件最大上传速率更改##


anon_max_rate=102400    ##上传速率设置为100k


###本地用户上传文件权限##



local_umask=077



##匿名用户上传文件权限##


anon_umask=022

anon_umask=077


##限制本地用户浏览/目录##


#所有用户被锁定到自己的家目录中
chroot_local_user=YES

chmod u-w /home/*   ##修改权限


##用户黑名单建立##   注意:此名单中的用户会被锁到自己的家目录中
chroot_local_user=NO
chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vim /etc/vsftpd/chroot_list

##用户白名单建立##   注意:除了此名单中的用户,其余用户都会被锁定到家目录中

中chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
##限制本地用户登陆##

vim /etc/vsftpd/ftpusers   ##用户永久黑名单(且优先级比user_list文件高)


vim /etc/vsftpd/user_list  ##用户临时黑名单


用户白名单设定

vim /etc/vsftpd/vsftpd.conf

userlist_deny=NO

vim  /etc/vsftpd/user_list   ##参数设定,此文件变成用户白名单,只在文件中出现的用户可以登陆ftp

此时其余用户就默认为黑名单中

###ftp虚拟用户的设定###

创建虚拟帐号身份

vim /etc/vsftpd/xbwfile     ##文件名称任意

user1           

123
user2
123
user3

123


db_load -T -t hash -f /etc/vsftpd/xbwfile /etc/vsftpd/xbwfile.db


vim /etc/pam.d/westos   ##文件名称任意

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

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


required  ##必须通过模块的认证
vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES
(虚拟帐号身份指定)

guest_username=ftp(系统中存在的用户)



chmod u-w /home/ftpuser



####虚拟帐号家目录独立设定###
vim /etc/vsftpd/vsftpd.conf
写入:local_root=/xbwdir/$USER

user_sub_token=$USER 

###操作步骤
  242  mkdir /xbwdir
  246  chgrp ftp /xbwdir/
  247  chmod g+s /xbwdir/
  248  cd /xbwdir/
  249  mkdir user{1..3}
  250  ll
  251  touch user1/user1file
  252  touch user2/user2file
  253  touch user3/user3file
  254  ls
  255  cd user1
  256  ll
  257  vim /etc/vsftpd/vsftpd.conf
  258  systemctl restart vsftpd.service
  259  lftp 172.25.254.217 -u user1
  260  lftp 172.25.254.217 -u user2

  261  lftp 172.25.254.217 -u user3


完成上述步骤后你就会看见你所设置的虚拟用户的家目录

##################虚拟帐号配置独立##

(想要哪个用户实现某个操作,就在其配置文件中写入即可)

例:vim /etc/vsftpd/conf_dir/user1

#######################vim /etc/vsftpd/vsftpd.conf###############

写入:user_config_dir=/etc/vsftpd/conf_dir


       cd /xbwdir/
  265  ll
  266  mkdir user{1..3}/pub
  271  chgrp westos user{1..3}/pub
  272  chmod 775 user{1..3}/pub
  273  vim /etc/vsftpd/vsftpd.conf
  274  systemctl restart vsftpd.service
  275  mkdir /etc/vsftpd/conf_dir -p
  276  cd /etc/vsftpd/conf_dir/

  277  vim user1

vim  /etc/vsftpd/conf_dir/user1  

写入anon_upload_enable=YES

就可以实现虚拟用户user1的上传文件功能

lftp  172.25.254.120 -u user1

ls

cd  pub/

put  /etc/passwd   ###上传文件


猜你喜欢

转载自blog.csdn.net/xbw_linux123/article/details/80261070