【linux】linux下搭建FTP实战经验(有图)

一. 下载vsftpd软件

sudo apt-get install vsftpd

二. 配置vsftpd.conf

sudo vim /etc/vsftpd.conf

参数设置

1. 基本参数

annonymous_enable=No 表示不允许匿名登录

参数设置

2. 限制用户访问权限

让用户只能访问他们home目录以下的目录和文件,而不能往上访问。

chroot_local_user=Yes 为允许本地用户登录,,且只能访问自己的home目录
chroot_list_enable=Yes 使用chroot_list,chroot_local_user=Yes时,里面的名单为非 chroot用户,即不会被限制访问权限,当chroot_local_user=No时,里面的名单为chroot用户,会被限制访问权限
allow_writeable_chroot=Yes 为允许用户写入
chroot_list_file=/etc/vsftpd.chroot_list 文件vsftpd.chroot_list需要我们自己新建,里面的名单为不受限的用户名字,将用户名添加到vsftpd.chroot_list文件中,每个用户名一行
local_root=/home/ftp/test 设置了local_root后,用户登录时会直接进入/home/ftp/test目录下
限制用户访问权限

3. 设置成被动访问模式

被动访问模式

4.修改监听端口号

  1. 编辑/etc/vsftpd/vsftpd.conf 文件,在该配置文件末尾添加此行:listen_port=666
listen_port=666
  1. 编辑/etc/services 文件,将其中的
    ftp 21/tcp 改为 ftp 666/tcp ,
    fsp 21/udp 改为 ftp 666/udp
    修改监听端口号

  2. 重新启动vsftpd服务

sudo service vsftpd restart
  1. 查看端口号
netstat -tnulp | grep vsftpd

端口改好了

三. 创建与删除用户

1. 创建用户
useradd -d /home/ftp/home/user1 user1
passwd user1

chmod 777 -R /home/ftp/home/user1
chown user1.user1 /home/ftp/home/user1
usermod -d /home/ftp/home/user1 user1
2. 编辑用户权限

网上的其他教程可能在上一步创建用户完后,就说创建成功可以使用了,但是这里还有个坑,就是用户的登录权限,这里不设置好,你还是登录不了!

  • 让用户能够登录

    usermod -s /bin/bash user1  #让user1有登录的权限
    
  • 用户不能登录

    • bin/fasle

    user1不能登录,登录时只返回一个错误,就显示
    530 Login incorrect
    Login faileduser1
    看完后也懵逼

    usermod -s /bin/false user1 
    

    -sbin/nologin

    user1不能登录,nologin会礼貌的向用户显示一条信息,并拒绝用户登录:This account is currently not available.
    但是作者实测,效果和/bin/false一样,并没有返回This account is currently not available.

    usermod -s /bin/nologin user1  
    
3. 删除用户
userdel -r user1
4. 查看用户及登录权限

cat /etc/passwd
用户及登录权限

四.登录

在ftp软件中,输入

IP
用户名
端口号
密码

就能登录使用了

五. 问题解决

1. 可以登录,但是无法新建文件,也无法上传

用户对目录的权限问题,必须使用户具有7(drwx)的权限

权限介绍:4=可读 2=可写 1=可执行
7 7 7
第一个7 是 文件所有者的权限
第二个7 是 文件所属组的权限
第三个7 是 其他用户的权限
7 = 4+2+1 表示有可读可写可执行,即rwx
6 = 4+2 表示有可读可写权限,即rw-
5 = 4+1 表示有可读可执行,即r-x

使用命令修改用户目录的权限,这里以用户user1,其目录为/home/ftp/home/user1为例:

  1. 将目录权限改成777,则所有用户都有7的权限,那user1也有
    chmod 777 -R /home/ftp/test
  2. 将用户目录的所有者和组修改成用户自己,即user1,
    chown user1.user1 /home/ftp/home/user1
    因为mkdir的方式新建的文件夹,通过ll看权限,其权限默认是drwxr-xr-x
    新建文件夹的权限
    这里我们通过命令让该文件夹的文件所有者和文件所属组都成为user1,那么此时user1就获得了文件所有者的drwx权限,

2. 创建的第一个用户可以登录,之后创建的用户不能登录,报错530 Login incorrect

用户登录权限问题

usermod -s /bin/bash username1
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

繁星知微

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值