<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 安装并启动 ...
随机推荐
- Laravel 5.0 之命令及处理程序
本文译自 Matt Stauffer 的 系列文章 . 本文中涉及的新功能都是关于 Commands 的,这些特性在 Laravel 旧版本中已经有了,但是在 Laravel 5.0 中变得更加好用了 ...
- 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 7.全局防护盲点的总结上篇
0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义.但仅仅使用这样的防护是存在很多盲点的,比如最经典的整型参数传递, ...
- 功能分解——Android下画分时图与k线图有感
最近工作极度繁忙,已经好久没有更新博客了,总感觉要是再不抽空总结总结点东西,分分钟就会被懒惰的状态给打到了.同时也希望同学们谨记,如果你已经决定要坚持某些正确的东西,比如背完某章单词,看一完本书抑或是 ...
- 网络传输速度bps与下载文件所需时间的换算
相信很多同志都非常关注自己家的计算机上网的宽带是多少.关心单位上网的宽带是多少! 但是很多同志都经常误解网络传输速度,以至于责备网络接入商(电信.网通.铁通等单位)欺骗用户,限制上网的速度! 本文,就 ...
- C++对象内存模型1(堆栈模型)
对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立 ...
- 解决java中对URL编码的问题
首先查看javascript中的encodeURI和encodeURLComponent方法的区别. encodeURI:不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行 ...
- java 转义字符
\t 相当于tab,缩进\n 回车\r 换行\b 换成 一个黑点
- 【Shell脚本学习10】Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最 ...
- nginx设置SSL反向代理
Nginx的反向代理通常用来映射内网中提供的Apache.IIS.Lighttpd服务,以实现负载均衡:同时,由于动态服务程序运行在内网,服务器的整体安全性也有所提高,那么怎样用nginx设置SSL的 ...
- iOS开发libWeChatSDK.a(WXApiObject.o)' does not contain bitcode.
在使用微信分享的时候可能会报错, 报错如下: ld: '/Users/gti/Documents/********/Lib/SDKExport/libWeChatSDK.a(WXApiObject.o ...