Nginx+vsftpd
2024-09-01 01:32:12
一、安装Nginx
- 关闭selinux和firewalld
setenforce
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
systemctl disable firewalld
- 时间同步
yum -y install ntpdate
ntpdate ntp1.aliyun.com
- 安装nginx
yum -y install pcre pcre-devel openssl openssl-devel gcc
useradd nginx -s /sbin/nologin -M
wget http://nginx.org/download/nginx-1.13.11.tar.gz
tar xf nginx-1.13..tar.gz
cd nginx-1.13.
./configure --user=nginx --group=nginx --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd /opt/nginx/sbin/
ln -s /opt/nginx/sbin/* /usr/local/sbin/
- 修改配置文件
cd /opt/nginx/conf/
mv nginx.conf nginx.conf_bak
cat <<EOF > /opt/nginx/conf/nginx.conf user virtual;
worker_processes ; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main;
sendfile on;
tcp_nopush on;
keepalive_timeout ;
autoindex on;
gzip on; server {
listen ;
server_name websftp.liveyu.com;
charset utf-;
access_log logs/host.access.log main;
location / {
root /data/ftproot;
index index.html index.php index.htm;
} error_page /50x.html;
location = /50x.html {
root html;
}
}
}
EOF
- 启动nginx
nginx -t
nginx
二、安装vsftpd
- 安装vsftpd
yum -y install vsftpd
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
- 安装ftp客户端
yum -y install ftp
- 创建用于进行FTP认证的用户数据库文件,其中奇数行为账户名,偶数行为密码
cd /etc/vsftpd/
# 创建用于进行FTP认证的用户数据库文件,其中奇数行为账户名,偶数行为密码
cat <<EOF > vuser.list
admin EOF
- 使用db_load命令用哈希(hash)算法将原始的明文信息文件转换成数据库文件
# 使用db_load命令用哈希(hash)算法将原始的明文信息文件转换成数据库文件
db_load -T -t hash -f vuser.list vuser.db
file vuser.db
chmod vuser.db
rm -f vuser.list
- 创建ftp虚拟用户
useradd -d /var/ftproot -s /sbin/nologin virtual
ls -ld /var/ftproot/
chmod -Rf /var/ftproot/ yum -y install pam* db4* vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
touch admin
vim admin # 有上传/下载/修改权限 anon_world_readable_only=NO # 匿名用户可以浏览FTP目录和下载文件
write_enable=YES # 设置可写权限
anon_upload_enable=YES # 是否允许匿名用户上传文件
anon_mkdir_write_enable=YES # 是否允许匿名用户创建目录
anon_other_write_enable=YES # 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限)
local_root=/data/ftproot/ # 本地用户的FTP根目录 cat /etc/vsftpd/vsftpd.conf anonymous_enable=NO # 是否允许匿名用户访问
local_enable=YES # 是否允许本地用户登陆FTP
guest_enable=YES # 开启虚拟用户模式
guest_username=virtual # 指定虚拟用户账户
allow_writeable_chroot=YES # 允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求
write_enable=YES # 设置可写权限
local_umask= # 匿名用户上传文件的umask值
dirmessage_enable=YES #
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO # 是否以独立运行的方式监听服务
listen_ipv6=YES
pam_service_name=vsftpd.vu # 指定PAM文件
userlist_enable=YES # 开启用户作用名单文件功能
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir systemctl restart vsftpd
systemctl enable vsftpd
最新文章
- Python正则表达式详解
- AngularJS实现单页应用的原理——路由(Route)
- Solrj和Solr DIH索引效率对比分析
- [JS,NodeJs]个人网站效果代码集合
- C main
- 在Visual Studio里配置及查看IL(转载)
- mysql查询更新时的锁表机制分析
- Samza文档翻译 : Comparison Introduction
- .NET基础拾遗(3)字符串、集合和流1
- 进入MFC讲坛的前言(一)
- js 第一天
- BotVS数字货币现货交易类库
- Web、WCF和WS通过Nginx共享80端口
- bootstrap时间格式化
- Vue实现tab选项卡
- Java基础IO流(二)字节流小案例
- 为了确认是您本人在申请搬家,请在原博客发表一 篇标题为《将博客搬至CSDN》的文章,并将文章地址填写在上方的";搬家通知地址";中
- Heartbeat基础知识-运维小结
- 趟坑:使用pip安装TensorFlow
- 【BZOJ】1832: [AHOI2008]聚会
热门文章
- discuz电脑访问手机版域名怎么跳转到电脑版本
- 调用其它UI文件
- window下golang生成静态库给C语言调用
- textblock的LineHeight的调整
- 用python &; bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本
- 问题记录,Release模式和Debug运行效果不一样,Release必须加延时
- Android 动画基础——视图动画(View Animation)
- 一小部分机器学习算法小结: 优化算法、逻辑回归、支持向量机、决策树、集成算法、Word2Vec等
- SimpleDateFormat之后为何多了一年,难道Java API也这么不靠谱?
- 多线程基础理论--C#