1.查看ftp是否安装
rpm -qa |grep vsftp
2.ftp卸载命令
yum remove vsftpd
3.安装ftp
yum install vsftpd
4.ftp服务的开启与关闭命令
// 开启
service vsftpd start
//关闭
service vsftpd stop
//设置为开机启动
chkconfig vsftpd on
5.创建用户ftpuser
useradd -d /home/ftpuser ftpuser # -d可设置为你得文件上传目录,我是与ftp主目录一致
passwd ftpuser //为ftpuser 设置密码
// 可更改主目录
usermod -d /opt/FTP ftpuser //更改用户ftpuser的主目录为/opt/FTP
// 更改用户相应的权限设置 // 限定用户ftpuser不能telnet,只能ftp
usermod -s /sbin/nologin ftpuser
//当然如果想恢复为正常用户,可以执行以下命令:
usermod -s /sbin/bash ftpuser
首先备份配置文件 防止出错
mv vsftpd.config vsftpd.config.bak 改名备份
cat vsftpd.conf.bak | grep -v "#" > vsftpd.config 去掉注释保存为vsftpd.config文件
6. 首先匿名登录情况下 修改/etc/vsftpd/vsftpd.conf如下:增加如下参数
anonymous_enable=YES 是否开启匿名登录
ftp_username=ftp // 可选 登录用户名
no_anon_password=YES //可选,是否询问密码
anon_world_readable_only=YES // world文档是否可读
anon_upload_enable=YES // 上传权限
anon_mkdir_write_enable=YES //穿建文件夹权限
anon_other_write_enable=NO //其他用户的可写权限
7.重启vsftp服务
本地访问
在本地用户的登录下
1.修改配置文件
anonymous_enable=NO
另外删除匿名用户的其他配置
2.增加配置
local_root=/opt/FTP
chroot_list_enable=YES 用于指定用户列表文件中的用户是否允许切换到上级目录
chroot_local_user=YES 设置是否启用下面chroot_list_file的指定配置文件
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES #非常重要!!!若设置了上面的操作,必须加上这步,不然会造成无法登录
配置说明
详情参考:https://blog.csdn.net/qq_38423256/article/details/119773336
如果没有chroot_list则编辑添加
touch chroot_list
安装是遇见的问题:
1. 登录不上
1.1 主目录文件权限是否放开 命令 sudo chmod -R 777 /opt/FTP
1.2 防火墙是否关闭,即使命令提示关闭 也要看看 vi /etc/selinux/config文件
将“SELINUX”项的值改为“disabled” 保存退出之后 setenforce 0
1.3 若登录还是340 修改 vim /etc/pam.d/vsftpd
注释掉以下这一行:
#auth required pam_shells.so
官方解释:从上面我们就找到原因所在,就是这个模块和我们添加用户使用的“/sbin/nologin”冲突了,因为它并不存在于“/etc/shells”,这是pam 的保护机制。auth required pam_shells.so 配置项的含义为仅允许用户的shell为 /etc/shells文件内的shell命令时,才能够成功,而创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,也就无法登录了
原文链接:https://blog.csdn.net/m0_37814112/article/details/119954822
说明:
anonymous_enable=YES #设置是否允许匿名用户登录
local_enable=YES #设置是否允许本地用户登录
local_root=/home #设置本地用户的根目录
write_enable=YES #是否允许用户有写权限
local_umask=022 #设置本地用户创建文件时的umask值
anon_upload_enable=YES #设置是否允许匿名用户上传文件
anon_other_write_enable=YES #设置匿名用户是否有修改的权限
anon_world_readable_only=YES #当为YES时,文件的其他人必须有读的权限才允许匿名用户下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载
download_enbale=YES #是否允许下载
chown_upload=YES #设置匿名用户上传文件后修改文件的所有者
chown_username=ftpuser #与上面选项连用,表示修改后的所有者为ftpuser
ascii_upload_enable=YES #设置是否允许使用ASCII模式上传文件
ascii_download_enable=YES #设置是否允许用ASCII模式下载文件
相关命令:
0、查看FTP账户情况 : tail -1 /etc/passwd
1、useradd命令加参数-D查看系统创建账户的默认值
[root@localhost hcy]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
2、useradd添加账户和userdel删除账户
useradd test