0基础自学linux运维-2.6-centos6 centos7快速安装vsFTP(快速版)

一、centos6.5 vsftp安装

#已经禁用了iptables

service iptables stop

chkconfig iptables off

如果开iptables可以添加如下规则

iptables -I INPUT -p tcp  --dport 22 -j ACCEPT

iptables -I INPUT -p tcp  --dport 21 -j ACCEPT

iptables -I INPUT -p tcp  --dport 5000:5100 -j ACCEPT

iptables -P INPUT DROP

iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -P OUTPUT ACCEPT

iptables -nL

#禁止了selinux

#如果off不行就不执行“setenforce 0”,有条件的话执行完下面命令最好重启一下系统

setenforce off

sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

grep '^SELINUX=' /etc/selinux/config

#------------------------------------------------------直接刷命令-------------------------------------

#1.安装vsftpd-2.2.2-14.el6.x86_64

yum -y install vsftpd

chkconfig vsftpd on

#2.基于虚拟用户的配置

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf.orig

#写入配置文件含被动模式

cat>>vsftpd.conf<<EOF

#by hua

user_config_dir=/etc/vsftpd/vuser_conf

pasv_enable=YES

pasv_min_port=5000

pasv_max_port=5100

pasv_promiscuous=YES

#force_dot_files=yes

EOF

#3.进行认证,安装Berkeley DB工具

yum install db4 db4-utils -y

#创建用户密码文本,单行为用户名,双行为密码

cat>>vuser_passwd.txt<<EOF

t1

123456

EOF

#生成虚拟用户认证的db文件,如果添加用户则需要重新生成一下vuser_passwd.db然后重启vsftp

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

cp /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.orig

echo '#%PAM-1.0' >/etc/pam.d/vsftpd

echo 'auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd'>>/etc/pam.d/vsftpd

echo 'account required pam_userdb.so db=/etc/vsftpd/vuser_passwd' >>/etc/pam.d/vsftpd

cat /etc/pam.d/vsftpd

#创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf

cd /etc/vsftpd/vuser_conf/

#下面建立t1账号配置,配置名和用户名一样,有多少个用户名就有多少个配置

cat>>t1<<EOF

local_root=/disk1/tools

local_umask=022

write_enable=YES

guest_enable=yes

guest_username=daemon

anonymous_enable=no

anon_world_readable_only=no

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

anon_umask=002

file_open_mode=0774

EOF

service vsftpd start

chkconfig vsftpd on

mkdir -p /disk1/tools

chown daemon.daemon /disk1/tools

#为了安全禁止匿名用户登陆,如果发现问题可以去掉

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

grep 'anonymous_enable' /etc/vsftpd/vsftpd.conf

service vsftpd restart

#------------------------------------------------------直接刷命令-------------------------------------

★★★★★★★★★★★★★★★★★★★★注意事项start★★★★★★★★★★★★★★★★★★★★★★★

每一次修改用户账号都必须生成一次密码vuser_passwd.db文件,否则不会生效!!还要重启vsftp!

#下面是操作命令!

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

service vsftpd restart

“guest_username=系统用户”中的,如上例子中guest_username=daemon

daemon是系统用户,一定存在的,一般是web软件的进程名字,比如我的是nginx的话,就用nginx,如果有php进程我也把php配置文件进程用户改为nginx,

这样的好处是web就可以对你上传的文件进行写读删除,因为有的缓存文件是php动态生成的,必须有写入权限!修改权限,删除权限!

比如:我查看nginx和php进程

[root@vm5 ~]# ps -ef|grep nginx|grep -v grep

nginx    1634  1632  0 May23 ?        00:00:05 php-fpm: pool www

root      1648    1  0 May23 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

nginx    1821  1632  0 May23 ?        00:00:05 php-fpm: pool www

nginx    13818  1632  0 Jun08 ?        00:00:04 php-fpm: pool www

nginx    13851  1632  0 Jun08 ?        00:00:04 php-fpm: pool www

nginx    20165  1648  0 Aug17 ?        00:11:06 nginx: worker process

nginx    20166  1648  0 Aug17 ?        00:11:18 nginx: worker process

nginx    20167  1648  0 Aug17 ?        00:11:05 nginx: worker process

nginx    20168  1648  0 Aug17 ?        00:11:23 nginx: worker process

nginx    23453  1632  0 Jun12 ?        00:00:04 php-fpm: pool www

nginx    29795  1632  0 Jul12 ?        00:00:02 php-fpm: pool www

nginx    29796  1632  0 Jul12 ?        00:00:02 php-fpm: pool www

从上面可以看到nginx和php的启动进程是nginx用户(这个用户查/etc/passwd是存在的)

[root@vm5 ~]# grep nginx /etc/passwd

nginx:x:498:499:nginx user:/var/cache/nginx:/sbin/nologin

这样guest_username配置就要写成“guest_username=nginx”,web的nginx还要能读,主要是网站是php写的,以php进程为主,一般情况都会有缓存目录

要对其文件或目录进行增加,删除,修改,所以才配置“guest_username=nginx”,这样ftp虚拟用户t1的权限就和nginx一样了!

如果改为其它用户如daemon,那第目录和文件用户和组都是daemon!你上传了网站文件如果含缓存目录的话,PHP因不能写入和删除,就会出问题!

★★★★★★★★★★★★★★★★注意事项END★★★★★★★★★★★★★★★★★★★★★★★★


#3.错误解决:

500 OOPS: cannot locate user entry:daemon

说明没有nginx用户,可以修改guest_username=daemon为其他用户。

###FTP客户端使用注意事项##############

如果用FileZilla Client连接vsftpd,

1.“常规”选项:“登陆类型”用"正常",然后输入用户名和密码

2.“传输设置”选项中:“传输模式”要用修改为“主动”不能用“默认”否则会报错,连接不上

3.“字符集”选项:建议强制用UTF-8,因为我们是centos服务器

如果是cuteftp,直接就可以连接

#########END############################


二、centos7安装vsftp

#1.禁用防火墙firewalld

#用兼容centos6方式关闭

yum install -y net-tools

service firewalld stop

#也可以用systemctl命令关闭

systemctl stop firewalld

systemctl disable firewalld

#2.关闭了selinux

#如果off不行就不执行“setenforce 0”,有条件的话执行完下面命令最好重启一下系统

setenforce off

sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

grep '^SELINUX=' /etc/selinux/config

#3.其实centos7安装vsftp很简单,按centos6.5安装,然后在配置文件中添加多一项“allow_writeable_chroot=YES”

echo 'allow_writeable_chroot=YES'>>/etc/vsftpd/vsftpd.conf

service vsftpd restart

注:

centos7用的是vsftp 3版本,centos6 yum安装的是2.2版本,不能添加“allow_writeable_chroot=YES”否则报错

500 OOPS: unrecognised variable in config file: allow_writeable_chroot

如果在centos7不添加“allow_writeable_chroot=YES”,用FTP客户端连接也会报如下错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!

如果检查发现还有写权限,就会报上面提示的错误。

★★★★★每一次修改用户账号都必须生成一次密码vuser_passwd.db文件,否则不会生效!!还要重启vsftp!

#下面是操作命令!

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

service vsftpd restart

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容