CentOS7 添加FTP用户并设置权限

摘要:
步骤1安装并配置Vsftp服务器。1.配置防火墙。默认情况下,打开FTP服务器所需的CentOS7.0端口使用防火墙。在这里,它被更改为iptables firewall#保存并退出systemctlrestartiptables。service#最后重新启动防火墙,使配置生效systemctlenableiptables。service#设置防火墙引导指令:端口21为ftp服务端口;10060至10090是Vsftpd无源模式所需的端口。您可以自定义大于1024的tcp端口。系统运维www.osyunwei.com温馨提示:qihang01原始内容版权所有,请注明来源和原始链接以便重新打印II。关闭SELINUXvi/etc/selinux/config#selinux=强制执行#Comment out#SELINU XTYPE=目标#Comment out SELINU=禁用#Add:wq!

step 1

安装配置Vsftp服务器

一、配置防火墙,开启FTP服务器需要的端口

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service#停止firewall

systemctl disable firewalld.service#禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services#安装

vi /etc/sysconfig/iptables#编辑防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq!#保存退出

systemctl restart iptables.service#最后重启防火墙使配置生效

systemctl enable iptables.service#设置防火墙开机启动

说明:21端口是ftp服务端口;10060到10090是Vsftpd被动模式需要的端口,可自定义一段大于1024的tcp端口。

系统运维www.osyunwei.com温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing#注释掉

#SELINUXTYPE=targeted#注释掉

SELINUX=disabled#增加

:wq!#保存退出

setenforce 0#使配置立即生效

三、安装vsftpd

yum install -y vsftpd#安装vsftpd

yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI #安装vsftpd虚拟用户配置依赖包

systemctl start vsftpd.service#启动

systemctl enable vsftpd.service#设置vsftpd开机启动

四、配置vsftp服务器

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak#备份默认配置文件

执行以下命令进行设置

sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'

echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300

\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=vsftpd

\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES

\npasv_min_port=10060\npasv_max_port=10090

\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf

五、建立虚拟用户名单文件

touch /etc/vsftpd/virtusers

编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)

vi /etc/vsftpd/virtusers

web1

123456

web2

123456

web3

123456

:wq!#保存退出

六、生成虚拟用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

chmod 600 /etc/vsftpd/virtusers.db#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

七、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)

修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak

vi /etc/pam.d/vsftpd

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

注意:如果系统为32位,上面改为lib,否则配置失败

八、新建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统)

useradd vsftpd -d /home/wwwroot -s /bin/false

chown vsftpd:vsftpd /home/wwwroot -R

chown www:www /home/wwwroot -R#如果虚拟用户的宿主用户为www,需要这样设置。

九、建立虚拟用户个人Vsftp的配置文件

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

touch web1 web2 web3#这里创建三个虚拟用户配置文件

mkdir -p/home/wwwroot/web1/http/

vi web1#编辑用户web1配置文件,其他的跟这个配置文件类似

local_root=/home/wwwroot/web1/http/

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

allow_writeable_chroot=YES

十、最后重启vsftpd服务器

systemctl restart vsftpd.service

备注:

guest_username=vsftpd#指定虚拟用户的宿主用户(就是我们前面新建的用户)

guest_username=www#如果ftp目录是指向网站根目录,用来上传网站程序,可以指定虚拟用户的宿主用户为nginx运行账户www,可以避免很多权限设置问题

至此,CentOS 7.0安装配置Vsftp服务器配置完成。

step 2 被限制路径为/home/test

1、建用户,命令行状态下,在root用户下:

运行命令:“useradd -d /home/test test”  //增加用户test,并制定test用户的主目录为/home/test

运行命令:“passwd test”  //为test设置密码,运行后输入两次相同密码

3、更改用户相应的权限设置:

运行命令:“usermod -s /sbin/nologin test”  //限定用户test不能telnet,只能ftp

运行命令:“usermod -s /sbin/bash test”  //用户test恢复正常

运行命令:“usermod -d /test test”  //更改用户test的主目录为/test

4、限制用户只能访问/home/test,不能访问其他路径

修改/etc/vsftpd/vsftpd.conf如下:

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

编辑上面的内容

第一行:chroot_list_enable=YES  //限制访问自身目录

第三行:编辑vsftpd.chroot_list。根据第三行说指定的目录,找到chroot_list文件。(因主机不同,文件名也许略有不同)

编辑vsftpd.chroot_list,将受限制的用户添加进去,每个用户名一行

5、重启服务器

改完配置文件,不要忘记重启vsFTPd服务器

运行命令:/etc/init.d/vsftpd restart (centos 7以下用 /etc/init.d/vsftpd restart)

6、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:

运行命令:“usermod -s /usr/bin/passwd test”  //用户telnet后将直接进入改密界面

免责声明:文章转载自《CentOS7 添加FTP用户并设置权限》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇dos 下修改目录权限卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Hibernate三种状态:瞬时状态、持久化状态、离线状态

三种状态及相互转化 瞬时状态(transient):刚new出来一个对象,还没有被保存到数据库中 持久化状态(persistent):已经被保存到数据库中或刚从数据库中取得 离线状态(detached):数据库中有,但是session中不存在该对象 方法的代码实例(下面代码1-8是连贯的,但由于需要分条说明,因此拆开) (1) save():把一个对象从...

CentOS+Nginx+PHP+Mysql 服务器配置

[利用yum命令配置、升级所需程序库] # sudo -s# LANG=C# yum -y install gcc gcc-c++ autoconf #yum -y install make //如果不安装make,那么cmake的时候会出问题 # yum -y install cmake # yum -y install bison 接下来最好手动编译...

ftp操作方法整理

1.整理简化了下C#的ftp操作,方便使用    1.支持创建多级目录    2.批量删除    3.整个目录上传    4.整个目录删除    5.整个目录下载 2.调用方法展示, var ftp = new FtpHelper("10.136.12.11", "qdx1213123", "123ddddf");//初始化ftp,...

FTP服务—三种登录类型的配置方法

目录 一、部署 二、配置vsftpd 1、匿名用户登录配置 2、系统用户登录配置 3、虚拟用户登录配置 1. 创建虚拟用户名单文件 2. 生成虚拟用户口令认证文件 3. 创建FTP根目录及虚拟用户映射的系统用户 4. 建立支持虚拟用户的PAM认证文件 5. 虚拟用户访问权限设置 6. 重启vsftpd服务 4、登录验证 前言FTP 是...

zabbix 监控linux tcp连接数

            zabbix 监控linux tcp连接数                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.TCP的状态概述 1>.端口状态转换 2>.TCP 三次握手 3>.四次断开 二.zabbix agent端配置监控TCP...

解决Ubuntu DNS解析慢、上网速度慢

自从ubuntu升级到10.04后,上网速度感觉变慢了很多(ADSL),原因也众说分云,有说是firefox浏览器造成的,于是用chrome访问,速度依然很慢,可见不是由于浏览器造成的。 网速慢, 是因为浏览器在对DNS解析上花费了大量的时间,所以我们要做的工作就是加速DNS的解析。安装dnsmasq 第1步、 sudo apt-get install...