linux下如何ftp配置,linux下ftp安装及配置

ftp安装:

Sudoapt-get install vsftpd

安装后系统会自动创建ftp用户

配置ftp:

首先备份一下配置文件:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

注意:如果配置允许匿名登录 ftp跳转到的根目录设置为755

配置项:

anonymous_enable=YES //允许匿名登陆

anon_root=/var/ftp      //登陆ftp后指向的目录,该目录权限不能为777,默认     为/srv/ftp

local_enable=YES    //允许本地用户登陆

write_enable=YES    //服务器接受写操作

local_umask=022     //本地用户创建新的文件权限为022,022表示初始的权限值是创建者有全部的权限,其他用户(包括组用户,其他用户)只有读和执行权限,077表示初始创建者具有全部权限,其他用户没有权限

anon_upload_enable=YES //允许匿名用户上传文件,当设置为yes指定的上传目录有写权限

anon_mkdir_write_enable=YES //允许匿名用户在ftp上创建目录

chroot_local_user=YES

虚拟用户的创建和配置:

设置/etc/vsftpd.conf  anonymous_enable=NO

1.创建/home/loginuser.txt虚拟用户列表格式为:

User1

Pass1

User2

Pass2

User3

Pass3

2.在ftp根目录下创建loginuser.txt三个目录分别为user1 user2 user3

使得:

用户user1的主目录为dbuser1,在该目录下只有读权限

用户user2的主目录为dbuser2,在该目录下只读权限

用户user3的主目录为dbuser3,在该目录下有所有权限

3.接下来我们需要生成虚拟帐号数据库,先安装DB库工具

Sudo apt-get install db4.8-util

将数据库文件导入到指定目录

sudo db4.8_load -T -t hash -f /home/loginuser.txt /etc/vsftpd/vsftpd_login.db

将数据库文件设置权限为600,并不需要被其他用户读,修改sudo chmod 600 /etc/vsftpd/vsftpd_login.db

4.配置PAM文件

(所有支持PAM验证的程序都有一个与PAM进行对接的配置文件,它们存放在/etc/pam.d目录,vsftpd与PAM的对接配置文件名可以由vsftpd.conf文件中的pam_service_name选项指定,默认是pam_service_name=vsftpd,当以后认证本地用户 时,会根据/etc/pam.d/vsftpd文件的配置内容进行认证。)

编辑前,先查找下pam_userdb.so位置

xyx@ubuntu:/home$ sudo find / -name pam_userdb.

/lib/x86_64-linux-gnu/security/pam_userdb.so

将下面内容加入到vsftpd文件的前两行:

auth required/lib/x86_64-linux-gnu/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_loginaccount required/lib/x86_64-linux-gnu/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login

5.建立所有FTP虚拟用户帐号使用的操作系统帐号即本地系统用户,需要我们自己新建目录,并设置该帐号工作目录的权限,所有者。

这里我们新建一个系统用户ftp_virt,用户家目录为/var/htp/ftp_virt,/bin/false禁止登陆系统

sudo useradd ftp_virt -d /home/ftp_virt -s /bin/false

sudo mkdir /home/ftp_virtsudo chownftp_virt:ftp_virt/home/ftp_virtsudo chmod 700 /home/ftpsite

注:查看/etc/passwd里有该用户

6.在vsftpd.conf配置文件中添加有关虚拟帐号用户的配置内容

user_config_dir=/etc/vsftpd_user_conf一项设置虚拟用户的权限来指定放置用户配置文件的目录位置是/etc/vsftpd_user_conf

解释下这一项的作用,添加这一项之后,当我们以虚拟用户登录vsftpd时,服务器将会寻找/etc/vsftpd_user_conf目录下于虚拟用户名相同的配置文件,从而确定该虚拟用户的权限等属性。这方便了我们管理FTP虚拟用户。

当然需要在创/etc/vsftpd_user_conf

Sudo mkdir /etc/sftpd_user_conf

编辑user1配置文件内容为:

Local_root=/var/ftp/user1

User2配置文件内容为:

Local_root=/var/ftp/user2

User3配置文件内容为:

local_root=/var/ftp/user3anon_mkdir_write_enable=YESanon_other_write_enable=YESanon_upload_enable=YESanon_world_readable_only=YESwrite_enable=YES

guest_enable=YESguest_username=ftp_virt

user_config_dir=/etc/vsftpd_user_conf

7.配置虚拟用户配置文件

在/etc/vsftpd_user_conf下新建user1 user2 user3文件

Sudo touch user1 user2 user3

Sudo vi User1内容:local_root=/var/ftp/user1

Sudo vi user2:local_root=/var/ftp/user2

Sudo vi user3:

local_root=/var/ftp/user3

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_upload_enable=YES

anon_world_readable_only=YES

write_enable=YES

8.创建local_root

在/var/ftp下创建user1 user2 user3    eg:sudo mkdir user1

注意:由于这几个文件为ftp登陆根目录,打开chroot配置禁止根目录有写权限所以更改权限

Sudo chmod 555 user1 user2 user3

测试user3新建删除功能:

User3配置中的anon_other_write_enable=YES允许用户除了建目录外的其他任何操作但这些写操作必须有一目录允许写操作。

Sudo mkdir upload -----默认所属用户和用户组为root,权限为755

Sudo chown ftp_virt : ftp_virt upload/

这时我们就可以在该目录下做任何读写操作了

附:ftp服务操作:

sudo service vsftpd restart

sudo service vsftpd start

sudo service vsftpd stop

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值