Centos 安装FTP配置目录权限,iptables设置ftp服务

2012-07-06 admin
Leave a comment Go to comments

CentOS 安装vsftpd,设置Iptables 限制用户访问自己目录

安装好vsftpd后,打开配置文件:

[root@hexuweb101 ~]$vi /etc/vsftpd/vsftpd.conf
1
[root@hexuweb101 ~]$vi /etc/vsftpd/vsftpd.conf

把下面几行注释去掉,让其配置生效:

local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES #这行可能需自己写 pam_service_name=vsftpd userlist_enable=YES
1
2
3
4
5
6

local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES      #这行可能需自己写
pam_service_name=vsftpd
userlist_enable=YES

配置保存后重启vsftpd服务:

[root@hexuweb101 ~]$service vsftpd restart
1
[root@hexuweb101 ~]$service vsftpd restart

接下来添加本地用户w1(用户目录设置成网站目录):

[root@hexuweb101 ~]$useradd –d /var/www/html/w1 w1
1
[root@hexuweb101 ~]$useradd –d /var/www/html/w1 w1

把网站目录权限的拥有者改为w1:

[root@hexuweb101 ~]$chown –R w1 /var/www/html/w1
1
[root@hexuweb101 ~]$chown –R w1 /var/www/html/w1

这样的话,基本的vsftpd服务配置好了。
但是这样配置完成后客户端并不能连接上,主要应该是默认防火墙设置下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问。

1.添加ip_conntrack_ftp 模块

[root@hexuweb101 ~] vi /etc/sysconfig/iptables-config
1
[root@hexuweb101 ~] vi /etc/sysconfig/iptables-config

添加下面一行

IPTABLES_MODULES="ip_conntrack_ftp"
1
IPTABLES_MODULES="ip_conntrack_ftp"

2.打开21端口

[root@hexuweb101 ~] vi /etc/sysconfig/iptables
1
[root@hexuweb101 ~] vi /etc/sysconfig/iptables

CentOS 5.x版本添加如下规则

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

CentOS 6.x版本添加如下规则

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

3.重启iptables使新的规则生效

[root@hexuweb101 ~] service iptables restart
1
[root@hexuweb101 ~] service iptables restart

4. 检查iptables 是否正常

[root@hexuweb101 ~]$service iptables status num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21 ......
1
2
3
4
5
6
7
8
9
10
11
12
13

[root@hexuweb101 ~]$service iptables status
num  target     prot opt source               destination        
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0          
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0          
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
......

从结果上来看ftp的21号端口已打开,可以使用FTP软件登陆测试了。

另外说明一下,如果端口号20也没有打开的朋友,请使用命令:

[root@hexuweb101 ~]$iptables -A INPUT -p tcp --dport 20 -j ACCEPT
1
[root@hexuweb101 ~]$iptables -A INPUT -p tcp --dport 20 -j ACCEPT

这时ftp连接已经可以,为了保险起见我们把被动模式连接的端口也打开:

[root@hexuweb101 ~]$iptables -A INPUT -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
1
[root@hexuweb101 ~]$iptables -A INPUT -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT

软件测试连接过程中,在用户验证的时候出现了错误503,应该是selinux设置的问题:

[root@hexuweb101 ~]$ getsebool -a |grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off allow_tftp_anon_write --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_disable_trans --> off ftpd_is_daemon --> on httpd_enable_ftp_server --> off tftpd_disable_trans --> off
1
2
3
4
5
6
7
8
9
10
11
12

[root@hexuweb101 ~]$ getsebool -a |grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
allow_tftp_anon_write --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off
tftpd_disable_trans --> off

该问题其实在红帽RHCE考试中会遇到,selinux是必考的内容,我们只要打开ftp_home_dir的值开启为on:

[root@hexuweb101 ~]$setsebool -P ftp_home_dir 1
1
[root@hexuweb101 ~]$setsebool -P ftp_home_dir 1

为了避免麻烦,我直接把allow_ftpd_full_access也一同开启:

[root@hexuweb101 ~]$setsebool -P allow_ftpd_full_access 1
1
[root@hexuweb101 ~]$setsebool -P allow_ftpd_full_access 1

这样客户端连接正常了,上传一个文件试试,改变目录,改变文件权限,都没有问题了。

到此CentOS下安装vsftpd就完成了。

开通ftp帐户后,将用户(一般指虚拟用户)限制在自家目录:
修改配置文件中,这样用户就只能访问自己家的目录了:

# 上面刚开始配置已经提到 [root@hexuweb101 ~]$vi /etc/vsftpd/vsftpd.conf chroot_local_user=YES
1
2
3

# 上面刚开始配置已经提到
[root@hexuweb101 ~]$vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES

如果只想某些用户仅能访问自己的目录,其它用户不做这个限制,那么就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用户.
编辑此文件,比如将test用户添加到此文件中,那么将其写入即可.一般的话,一个用户占一行.

[root@localhost ~]# cat /etc/vsftpd/chroot_list ftpuser
1
2

[root@localhost ~]# cat /etc/vsftpd/chroot_list
ftpuser

转载于:https://www.cnblogs.com/gubook/p/3897909.html

Centos 安装FTP配置目录权限,iptables设置ftp服务相关推荐

  1. CentOS安装与配置LNMP

    本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...

  2. centos安装和配置masakari(stein版本)

    centos安装和配置masakari(stein版本) 一.基本环境参数 环境:centos7.6 opentack-masakari版本stein python2.7.5/python3.6,都是 ...

  3. linux 临时 目录权限,linux文件和目录权限的设置

    linux文件和目录权限的设置 修改文件权限 如果想改变文件或目录的权限,可以使用chmod命令,改变文件或目录的权限有两种方法:助记法和八进制法. ·助记法: 语法: 使用u(user).g(gro ...

  4. centos 安装、配置metis

    centos 安装.配置metis 1.安装依赖包 #安装python-pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载 ...

  5. CentOS安装和配置FTP

    1.安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsft ...

  6. centos安装与配置

    1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...

  7. linux ftp查看用户目录权限,linux 指定ftp用户 特定目录及权限

    Linux添加FTP用户并设置权限 在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户: ...

  8. CentOS安装和配置Rsync进行文件同步

    Liunx系统实现文件同步不需要搭建FTP这类的工具,只需要按照Rsync配置下文件就可以. 本文以Centos7.0为例. 1. 首先关闭SELINUX(不关闭无法同步,权限太高了) vi /etc ...

  9. CentOS 安装与配置

    一.安装VMware 二.安装CentOS-7 1.创建新的虚拟机 创建新的虚拟机: 选择典型: 默认下一步 选择稍后安装操作系统[或者傻瓜式安装选择安装程序光盘映像文件(iso),选择镜像,直接安装 ...

最新文章

  1. 【jQuery 区别】attr()和prop()的区别
  2. 【代码笔记】Web-CSS-CSS 链接(link)
  3. python之时间日期time
  4. 要做好性能测试,该掌握些什么?
  5. anaconda下载的python在哪_python包管理器anaconda介绍安装和使用
  6. 32bit win7 在VMWARE中安装64位的redhat LINUX4.7
  7. .net前台ajax,asp.net利用Ajax和Jquery在前台向后台传参数并返回值
  8. tnsnames.ora配置未生效_一文了解网络交换机的6种命令配置模式
  9. Perl文件内容对比
  10. scrapy--dytt(电影天堂)
  11. office2019_word_多级标题(四级以上heading的配置)/自定义样式heading style
  12. creator owner是什么用户_并发系列-到底什么重量级锁?
  13. flutter 抓包使用教程
  14. 转载:js和as间的交互
  15. ACM-ICPC 2018沈阳赛区网络预选赛
  16. python刷今日头条阅读量_用python3.5逛看今日头条
  17. web前端学习css“北方高温“案例
  18. ARC 075 D Mirrored - 搜索
  19. 2.1 特征工程 - 数据清理
  20. C# modbus通信协议

热门文章

  1. 移动医疗APP的渠道策略
  2. 面试官:说说你对keep-alive的理解是什么?怎么缓存当前的组件?缓存后怎么更新?
  3. Microsoft Surface 平板电脑
  4. Allegro铜皮倒角技巧-shape倒角
  5. 普通程序员如何走出困境?【转】
  6. 通俗易懂【Springboot】 单文件下载和批量下载(多个文件合成一个压缩包下载)
  7. Intel opreation mode
  8. 求负整数补码不用对原码+1进位的技巧
  9. 编程语言中一些令人抓狂的规则
  10. 第六天 黑马十次方 用户注册、用户登陆掌握js-cookie、微信扫码登陆、nuxt嵌套路由