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

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

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

时间: 2024-10-12 14:30:49

Centos 安装FTP配置目录权限,iptables设置ftp服务的相关文章

CentOS安装与配置LNMP

本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.epub 原文链接:http://www.coderblog.cn/article/36/ CentOS安装与配置LNMP(1):Nginx安装与常用命令 Nginx是一个轻量级的HTTP服

Centos 安装Java配置环境变量

Centos 安装Java配置环境变量 1.查看系统版本 [[email protected] ~]# java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea61.11.5) (rhel-1.45.1.11.1.el6-3-i386) OpenJDK 64-Bit Server VM (build 20.0-b12,mixed mode) 2.进一步查看jdk信息 [[email protec

linux文件和目录权限的设置

linux文件和目录权限的设置 修改文件权限 如果想改变文件或目录的权限,可以使用chmod命令,改变文件或目录的权限有两种方法:助记法和八进制法. ·助记法: 语法: 使用u(user).g(group).o(other).a(all)表示要设置权限的位置,使用+表示添加.使用-表示减少权限.使用=表示设置为什么样的权限,使用rwx表示权限. 例如: [email protected] tmp]# touch test.txt [[email protected] tmp]# ll total

烂泥:CentOS安装及配置TFTP服务器

本文首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口.主要提供文件的上传和下载,TFTP一般是适用于远程无盘设备启动,PXE启动以及路由器.交换机IOS的备份.恢复和升级等场合. TFTP与FTP相比,TFTP不能列出目录的内容.不支持认证和加密机制.只支持UDP协议. 以上就是有关TFTP的相关特点,下面我们开始安装TFTP服务. 说明:在以后的博客中,我会尽量在Ubun

centos 安装和配置 rabbitmq

centos 安装 rabbitmq 1.rabbitmq是erlang语言开发的,安装前首先需要安装erlang# yum install erlang -y // 直接安装可能报错,# yum install ncurses-devel // 安装依赖官方下载erlang包# wget http://erlang.org/download/otp_src_19.0.tar.gz解压安装erlang# tar xzvf otp_src_19.0.tar.gz# cd otp_src_19.0#

烂泥:centos安装及配置DHCP服务器

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下. 本次实验OS:centos6.5 64bit 双网卡:eth0为外网网卡,eth1为内网网卡 eth0网卡外网可以正常连接互联网,如下: 要想配置DHCP服务,我们要先来安装DHCP软件包,如下: yum -y install dhcp 检查安装DHCP软件包,所生成的文件.如下: rpm -q

centos安装与配置R语言

Linux下安装R语言 一.编译安装 由于采用编译安装,所以需要用到gcc编译环境,在编译前check文件时还会用到libXt-devel和readline-devel两个依赖,所以在编译R语言源码时先将这些工具和依赖包准备好.readline-devel 也可以不安装,不安装此包R语言编程环境中的自动补全功能就废了. 注:可以使用yum安装比较方便. 1.安装环境: Centos 6.5 2.安装步骤: (1) 打开命令行窗口,进入某一目录输入 wget  http://ftp.ctex.or

centos安装与配置dhcp服务

centos安装过程及配置方法 一.安装流程 有两种方法:一是使用自带的rpm安装包,二是使用yum命令在线安装. 1.检测安装      查看服务器上是否已经安装DHCP rpm -qa |grep dhcp 挂载好光盘镜像(挂载过程略)进入光盘目录 rpm -ivh dhcp.x86_64.12.4.2.5-36.el7.centos rpm -ivh dhcp.x86-devel_64.12.4.2.5-36.el7.centos 利用rpm -ql dhcp 检测安装包所安装的所有的文件

CentOS 安装以及配置Apache php mysql

准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT   #允许80端口通过防火墙 -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT   #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败