标签:sftp 图片 user 写入 文件目录 conf 数据库 chroot 通用
FTP
有一台作为ftp的server端,指定一个目录是共享的,客户端连接到服务器可以直接在共享目录中进行下载和上传
服务端要装vsftpd命令,客户端要装ftp命令,客户端使用ftp命令来进行登陆的
FTP三种用户类型
1.匿名用户
共享的文件为/var/ftp/pub目录,并且这个目录要把他的属主改为ftp
安装完vsftpd自然就有/etc/vsftpd/vsftpd.conf:ftp配置文件
27 anon_upload_enable=YES 开启匿名用户上传权限
28 anon_umask=022 手动添加匿名用户的其他写入权限
32 anon_mkdir_write_enable=YES 开启匿名用户新建目录的权限
33 anon_other_write_enable=YES 手动添加匿名用户的其他写入权限(删除重命名)
2.本地用户
共享的目录为账号自己的家目录
22 local_umask=077 修改本地用户默认权限掩码为077
96 chroot_local_user=YES 开启本地用户的家目录锁定
因为是ftp本地用户服务所以需要先创建一个普通用户和密码用客户端ftp登陆服务端输入yunjisuan账号和密码
之后进行测试
3.虚拟用户
先查看系统是否有db_load命令,没有则需要安装ftp虚拟用户首先需要在/etc/vsftpd下创建密码文件
创建完密码文件需要弄db_load命令转换成数据文件,-T允许非程序使用该数据库 -t指定算法 hash -f代表加密,因为是密码,为了增加安全性需要给chmod 600 vusers.db权限
首先创建虚拟映射账号,因为指定了家目录所以给手动创建一个家目录并赋上755权限
手动建立此pam认证文件如下
把最下面配置文件
配置完重启服务,就可以用客户端进行ftp登陆,因为是指定创建的家目录,所以需要去/var/ftproot创建点文件
ftp客户端登陆服务端,输入手动创建的虚拟账号密码,就可以看到刚才在服务端家目录创建的文件
因为刚才创建了2个账号密码,所以用第二个账号登陆,也看到了指定的服务端家目录文件
实现每个虚拟用户不同根目录,不同权限的管控,首先在/etc/vsftpd创建mkdir /vusers.dir目录,创建完进入目录touch 虚拟账号里的名字
vim手动打开/etc/vsftpd/vusers.dir/虚拟账号名
配置完手动mkdir -p /var/虚拟账号名,chown virtual /var/虚拟账号名:把账号属主换成virtual有读写权限
最后需要在/etc/vsftpd/vsftpd.conf手动填写
重启服务/etc/init.d/vsftpd reload后进入测试环境,手动在服务端家目录创建个文件
在客户端ftp登陆虚拟用户,文件正好是在服务端配置文件目录创建的文件
标签:sftp 图片 user 写入 文件目录 conf 数据库 chroot 通用
原文地址:https://www.cnblogs.com/zhangtao11/p/9901468.html