<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 安装并启动 ...
随机推荐
- Cassandra在CQL语言层面支持多种数据类型
Cassandra在CQL语言层面支持多种数据类型. CQL类型 对应Java类型 描述 ascii String ascii字符串 bigint long 64位整数 blob ByteBuffer ...
- 特殊IP地址
主机ID全为0:不分配给任何主机,仅用于表示某个网络的网络地址. 主机ID全为1:不分配给任何主机,仅用做广播地址. IP地址的32位全为1:即255.255.255.255,为有限广播地址(http ...
- ThinkPHP中pathinfo模式与URL重写
Thinkphp中的pathinfo模式 http://serverName/appName/module/action/id/1/ pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模 ...
- 定时导出Oracle数据表到文本文件的方法
该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式.其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现.该 ...
- 通过GCD、NSOperationQueue队列、NSThread三种方法来创建多线程
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...
- 【阿里云产品公测】云引擎ACE新手实战基于Wordpress
[阿里云产品公测]云引擎ACE新手实战基于Wordpress 作者:阿里云用户imnpc ACE(Aliyun Cloud Engine) 是一款弹性.分布式的应用托管环境,支持Java.php多种语 ...
- FormsAuthenticationTicket学习笔记
FormsAuthenticationTicket ticket = , ), true, string.Format("{0}:{1}", "username" ...
- [课程相关]homework-06
一.c++11 lambda /* * File: main.cpp * Author: liangjie * * Created on 2013年11月23日, 下午12:02 */ #includ ...
- 放飞App:移动产品经理实战指南
<放飞App:移动产品经理实战指南> 基本信息 原书名:App savvy:rurning ideas into iPhone and iPad Apps customers really ...
- asp.net oracle 存储过程
ORACLE代码 CREATE OR REPLACE PROCEDURE gd_CURSOR(MYCS1 OUT SYS_REFCURSOR,MYCS2 OUT SYS_REFCURSOR,a out ...