<Linux下FTP服务的搭建>
默认安装好ftp软件包匿名用户是可以下载的。
匿名以后可以上传:
anon_upload_enable=YES
# getsebool -a | grep ftp
allow_ftpd_anon_write --> on
chcon -t public_content_rw_t pub
chmod 775 pub
chgrp ftp pub
匿名用户可以创建目录:
anon_mkdir_write_enable=YES
在创建的目录上传文件看不到。添加下面
anon_world_readable_only=NO
删除不了自己创建的目录文件:添加下面
anon_other_write_enable=YES
当selinux打开时,默认的本地用户是不可以登录ftp的。
[root@redhat pub]# lftp 192.168.3.30 -u lee
Password:
lftp lee@192.168.3.30:~> ls
ls: Login failed: 500 OOPS: cannot change directory:redhat
# setsebool -P ftp_home_dir on
默认本地用户登录ftp后是可以切换到 /的
怎么使本地以后不可以切换到/
chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
本地以后可以切换到/
chroot_local_user=NO
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
在chroot_list文件中的用户可以切换到/,反之就是配置文件没有写入的用户都是不可一切换到/的
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
# touch /etc/vsftpd/chroot_list
所有的用户都可以切换到 /,在配置文件的内容不可以切换到/,要是文件为空,就是所有以后都可一切换到/,匿名用户除外
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
所有以后不可一切换到 /
chroot_local_user=YES
chroot_list_enable=NO
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
2个黑名单同时含有一个用户时,ftpusers优先级大于user_list
ftpusers user_list //这2个文件即改即生效
所有的用户都不可以登录ftp,当白名单为空时。同时也是把临时黑名单变为白名单
userlist_enable=YES
userlist_deny=NO
ftp虚拟用户的建立;
vim users
user1
123
user2
123
# yum install db4-utils.x86_64 -y
# db_load -T -t hash -f users users.db
vim ftpusers
auth required pam_userdb.so db=/etc/vsftpd/users
account required pam_userdb.so db=/etc/vsftpd/users
# vim /etc/vsftpd/vsftpd.conf //使用虚拟用户登录的目录为test目录。
pam_service_name=ftpusers
guest_enable=YES
guest_username=test //使用为本地用户
客户端测试,我们会发现登录到的为test的家目录
给虚拟用户添加家目录
[root@redhat vsftpd]# tree virtual/
virtual/ //改目录下又创建2个user1 user2
├── user1
│ ├── passwd
│ └── user1
└── user2
└── user2
/etc/vsftpd/virtual //修改user1 user2的目录权限
# chcon -t public_content_rw_t
[root@redhat virtual]# ll
total 8
drwxr-xr-x. 2 test test 4096 Jun 12 01:27 user1
drwxr-xr-x. 2 test test 4096 Jun 12 01:11 user2
为虚拟ftp用户添加家目录,配置文件要写入下面内容
local_root=/etc/vsftpd/virtual/$USER
user_sub_token=$USER
为虚拟用户添加配置文件
/etc/vsftpd
mkdir dir
user_config_dir=/etc/vsftpd/dir
vim user1 //user1就为user1用户的ftp配置文件
non_upload_enable=NO //user1用户禁止上传,默认是可以上传的
<Linux下FTP服务的搭建>的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- 二分查找实现(Jon Bentley:90%程序员无法正确实现)
二分查找实现(Jon Bentley:90%程序员无法正确实现)作者:July出处:结构之法算法之道引言Jon Bentley:90%以上的程序员无法正确无误的写出二分查找代码.也许很多人都早已听说过 ...
- Java再学习——关于ConcurrentHashMap
ConcurrentHashMap提供了和Hashtable以及SynchronizedMap中所不同的锁机制. 1,在并发方面, ConcurrentHashMap提供了好得多的并发性.多个读操作几 ...
- 关于报错The specified child already has a parent的解决办法
报错信息为:java.lang.IllegalStateException: The specified child already has a parent. You must call remov ...
- Data Structure 之 最优二叉树
给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree).哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近. ...
- C#面向对象(三)接口实现多态
一.如何用接口实现多态? 1.定义一个接口. using System; using System.Collections.Generic; using System.Linq; using Syst ...
- 2.1.6 用ProtectX实现扫描的反击与追踪
ProtectX是一款在用户连接网络时保护电脑的工具,可以同时监视20个端口,还可以帮助追踪攻击者的来源.一旦有人尝试连接到用户的电脑,它即可发出声音警告并将入侵者的IP位址记录下来,可以防止黑客入侵 ...
- mina 字节数组编解码器的写法 I
mina 服务器与 mina 客户端通讯的话, 一.传递 String 时编解码工厂使用 mina 自带的 TextLineCodecFactory 即可: 二.传递 java 对象或 byte[] ...
- uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列
题目很简单,给一个队列以及文件的位置,然后一个一个检查,如果第一个是优先级最高的就打印,否则放到队列后面,求所要打印的文件打印需要花费多长时间. 这里我用数组模拟队列实现,考虑到最糟糕的情况,必须把数 ...
- 自定义基本java类-StdDraw.java
/************************************************************************* * Compilation: javac StdD ...
- BZOJ 1146: [CTSC2008]网络管理Network 树链剖分+线段树+平衡树
1146: [CTSC2008]网络管理Network Time Limit: 50 Sec Memory Limit: 162 MBSubmit: 870 Solved: 299[Submit] ...