设为首页 加入收藏

TOP

Linux FTP传输协议(二)
2023-07-23 13:38:04 】 浏览:63
Tags:Linux FTP
; #默认NO YES表示允许修改上传文件的权限和所有者 chown_username=wang #文件所有者 chown_upload_mode=0644 #文件权限
  1. 设置Linux系统用户登录ftp服务器
local_enable=YES   #是否允许本地用户登录,YES表示允许

write_enable=YES   #是否允许本地用户上传文件,YES表示允许

local_umask=022    #指定系统用户上传文件的默认权限对应umask
  1. 将系统用户映射为一个指定的账号
guest_enable=YES     #所有系统用户都映射成某一个guest用户

guest_username=ftp   #配合上面选项才生效,指定guest用户

local_root=/ftproot  #指定guest账号登录进来映射的目录

#设置每个用户都拥有独立的配置
user_config_dir=/etc/vsftpd/conf.d/ 每个用户独立的配置文件目录  这里可以针对不同的用户放不同的配置

范例: 让所有的系统用户映射指定guest用户

服务器端配置
[root@CentOS8 ~]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=ftp
local_root=/ftproot

[root@CentOS8 ~]# useradd bob 
[root@CentOS8 ~]# passwd bob

[root@CentOS8 ~]# mkdir ftproot/
[root@CentOS8 ~]# touch test1

客户端:
[root@CentOS8 ~]# ftp 10.0.0.11
Connected to 10.0.0.11 (10.0.0.11).
220 (vsFTPd 3.0.3)
Name (10.0.0.11:root): bob
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,0,11,172,77).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Oct 21 03:46 test.1
226 Directory send OK.
ftp>

范例:映射登录的用户为guest用户,并使用独立的家目录

服务端:
#创建tom和bob两个用户

#修改服务器配置文件
[root@CentOS8 ~]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES 所有系统用户都映射成guest用户
guest_username=ftp   配合上面选项才生效,指定guest用户
local_root=/ftproot 指定guest用户登录所在目录,但不影响匿名用户的登录目录
user_config_dir=/etc/vsftpd/conf.d/ 每个用户独立的配置文件目录

#创建存放tom和bob独立配置文件的目录
[root@CentOS8 ~]# mkdir  /etc/vsftpd/conf.d/
#生成tom和bob的独立配置文件
[root@CentOS8 conf.d]# echo "local_root=/ftproot_bob" >  /etc/vsftpd/conf.d/bob
[root@CentOS8 conf.d]# echo "local_root=/ftproot_tom" >  /etc/vsftpd/conf.d/tom
#重启服务
[root@CentOS8 ~]# systemctl status vsftpd.service

#创建对应的文件目录
[root@CentOS8 ~]# mkdir /ftproot_bob  /ftproot_tom
[root@CentOS8 ftproot_bob]# touch bob.test
[root@CentOS8 ftproot_tom]# touch tom.test


客户端测试:
[root@CentOS8 ~]# ftp 10.0.0.11
Connected to 10.0.0.11 (10.0.0.11).
220 (vsFTPd 3.0.3)
Name (10.0.0.11:root): bob
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,0,11,222,234).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Oct 21 05:37 bob.test
226 Directory send OK.
ftp>
  1. 禁锢系统用户
    ??禁锢所有系统用户在家目录中:
#不允许用户随便切换目录,只能在家目录中
chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢

此时ftp会把对应用户的家目录作为根目录,如果这个家目录存在写权限则登录的时候会提示错误相关错误信息。

访问ftp服务器可以通过三种类型的账号进行访问:

  • 匿名用户:ftp、anonmous,共享目录在/vat/ftp下

  • 系统用户:例如linux的自身的账号,默认进入的就是用户的加目录

  • 虚拟账号:专用于ftp服务的账号,虚拟账号:给对应服务使用的账号,不在操作系统上的账号

  1. 日志
vsftpd默认使用的就是wu-ftp的日志格式
#wu-ftp 日志:默认启用
xferlog_enable=YES #启用记录上传下载日志,此为默认值
xferlog_std_format=YES #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog #可自动生成, 此为默认值


#vsftpd日志:默认不启用
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log 可自动生成, 此为默认值
  1. 提示信息:
    (1)登录前提示信息
方法一:
ftpd_banner="welcome to mage ftp server"

方法二:将提示信息存放到一个文件中
banner_file=/etc/vsftpd/ftpbanner.txt

(2)目录访问提示信息

dirmessage_enable=YES    #此为默认值,开启这个选项后,在对应目录中创建指定文件就实现了提示信息

message_file=.message    #信息存放在指定目录下.message ,此为默认值,只支持单行说明
  1. PAM模块实现用户访问控制
    ??pam是一个可插拔的配置模块,利用pam可以控制
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇为什么文件删除了但磁盘空间没有.. 下一篇CentOS 7内核升级

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目