准备:

写博客前先确认了下linux的版本信息,害怕写错了版本信息,再把小伙伴们误入歧途了哈哈。然后贴出查看当前linux系统版本信息的命令:

1.Linux查看版本当前操作系统内核信息

 

[root@VM_0_12_centos /]# uname -a
Linux VM_0_12_centos 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

2.Linux查看当前操作系统版本信息

[root@VM_0_12_centos /]# cat /proc/version
Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017

3.Linux查看版本当前操作系统发行版信息

[root@VM_0_12_centos /]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core) 

 

 

正文正文:

通过搭建vsftpd服务来实现ftp服务好像是当前通用的方法,那咱们就试一试搭建vsftpd服务;

1.查看系统中是否安装了vsftpd

# rpm -qa | grep vsftpd

2.安装vsftpd

# yum -y install vsftpd

再次运行1的命令:vsftpd-3.0.2-22.el7.x86_64;说明安装成功!

3.创建用户

# useradd -s /sbin/nologin -d /var/testftp/img imac

useradd命令用于Linux中创建的新的系统用户。

useradd可用来建立用户帐号。

帐号建好之后,再用passwd设定帐号的密码.

可用userdel删除帐号。

使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

另附:

useradd(选项)(参数)

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id

 

4.为用户创建密码

passwd imac

passwd 后跟用户账号,回车输入两次之后密码创建成功。

4.编辑vsftpd配置文件,修改配置


ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:

ftpusers    该文件用来指定那些用户不能访问ftp服务器。

user_list   该文件用来指示的默认账户在默认情况下也不能访问ftp

vsftpd.conf   vsftpd的主配置文件


修改配置文件,配置不允许匿名用户登录

位置:/etc/vsftpd/vsftpd.conf

修改:anonymous_enable 改为 NO (默认:YES)

然后重启vsftp服务。

 

5.启动vsftp服务

systemctl start vsftpd.service #启动服务
systemctl restart vsftpd.service #重启
systemctl stop vsftpd.service #重启
systemctl status vsftpd.service #状态

6.链接测试

用ftp链接工具,我用的是uftp8;用什么无所谓了,反正,我连上了,哈,这时候就会发现,链接的默认目录就是在创建用户的时候设置的用户目录,我的是“/var/testftp/img imac”。

7.配置让ftp用户只在自己的目录下面活动

但是这样有个问题就是所有的目录都暴露给客户端了,虽然客户端不能随意修改删除其余的文件,但是因为目录可见,所以总会有一些风险,所以接下来还需要配置让ftp用户只在自己的家目录下面活动,而无法查看其它任何目录。

同样是打开配置文件/etc/vsftpd/vsftpd.conf,找到chroot_local_user=YES这个配置,默认是注释的,这里去掉注释,表示只让用户在自己的目录里面活动。

如果只是保存这一个配置的话,用ftp连接客户端会返回500 OOPS: vsftpd: refusing to run with writable root inside chroot()的错误,即禁止运行在可写的家目录中,因为刚才ftp_test这个目录有w权限,而现在我们使用的vsftpd版本是3.0.2 属于比较新的版本,为了安全性做了一些限制,如果你此时想通过 chmod a-w /home/ftp_test 来去掉目录的写权限,那么连接成功是没问题的,但是无法上传文件了,所以网上很多说修改权限的方法是不可取的,正确的做法是应该在下面添加一行配置allow_writeable_chroot=YES表示允许对家目录的写权限

 

离线安装ftp  请参考:https://www.cnblogs.com/hmagogo/p/7065956.html

 

 

 

 

 

 

 

 

 

Logo

更多推荐