centos ftp创建用户 centos7配置ftp服务器
大家好,今天小编来为大家解答centos ftp创建用户这个问题,centos7配置ftp服务器很多人还不知道,现在让我们一起来看看吧!
linux(CentOS7) FTP服务器配置用户
要为CentOS 7系统配置FTP服务器并添加用户,首先,执行以下步骤:
1.在终端中,创建一个新的FTP用户并设置密码:
bash
sudo useradd-m-s/sbin/nologin ftpuser
sudo passwd ftpuser
2.打开FTP服务器配置文件`vsftpd.conf`:
bash
sudo vi/etc/vsftpd/vsftpd.conf
然后,修改相关配置,如允许特定用户访问:
bash
anonymous_enable=NO
user_list_enable=YES
user_list_deny=NO
user_list_file=/etc/vsftpd/user_list
3.接着,编辑`user_list`文件,添加新创建的用户:
bash
sudo vi/etc/vsftpd/user_list
ftpuser:localhost,127.0.0.1
保存并关闭文件后,重启FTP服务器以应用更改:
bash
sudo systemctl restart vsftpd
4.确保配置无误,使用FTP客户端如Xftp进行连接测试:
点击"新建连接",输入服务器的IP地址、默认的FTP端口号(通常是21),用户名为`ftpuser`,以及刚才设置的密码。
如果连接成功,您会看到连接状态栏显示为绿色小圆点,表示连接已建立。
至此,CentOS 7的FTP服务器用户配置已完成,现在您可以使用新创建的`ftpuser`账户登录并管理FTP资源了。
CentOS64下安装vsftpd并配置虚拟用户
一:安装vsftpd
查看是否已经安装vsftpd
复制代码代码如下:
rpm-qa| grep vsftpd
如果没有,就安装,并设置开机启动
复制代码代码如下:
yum-y install vsftpd
chkconfig vsftpd on
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
打开/etc/vsftpd/vsftpd.conf,做如下配置
复制代码代码如下:
anonymous_enable=NO//设定不允许匿名访问
local_enable=YES//设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
chroot_list_enable=YES//使用户不能离开主目录
ascii_upload_enable=YES
ascii_download_enable=YES//设定支持ASCII模式的上传和下载功能
pam_service_name=vsftpd//PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
复制代码代码如下:
guest_enable=YES//设定启用虚拟用户功能
guest_username=ftp//指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf//设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名
进行认证
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
复制代码代码如下:
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt,注意奇行是用户名,偶行是密码
复制代码代码如下:
test
123456
接着,生成虚拟用户认证的db文件
复制代码代码如下:
db_load-T-t hash-f/etc/vsftpd/vuser_passwd.txt/etc/vsftpd/vuser_passwd.db
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
复制代码代码如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户配置文件
复制代码代码如下:
mkdir/etc/vsftpd/vuser_conf/
vi/etc/vsftpd/vuser_conf/test//文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
内容如下
复制代码代码如下:
local_root=/ftp/www//虚拟用户根目录,根据实际情况修改
write_enable=YES//可写
anon_umask=022//掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
设置Selinux
复制代码代码如下:
setsebool-P ftp_home_dir=1//设置ftp可以使用home目录
sersebool-P allow_ftpd_full_access=1//设置ftp用户可以有所有权限
设置FTP根目录权限
复制代码代码如下:
mkdir/ftp/www//创建目录
chmod R 755/ftp
chmod R 777/ftp/www
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
设置防火墙
打开/etc/sysconfig/iptables
在“-A INPUT–m state--state NEW–m tcp–p–dport 22–j ACCEPT”,下添加:
复制代码代码如下:
-A INPUT m state--state NEW m tcp p dport 21 j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
复制代码代码如下:
service iptables restart
OK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。
配置PASV模式
vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置
打开/etc/vsftpd/vsftpd.conf,在末尾添加
复制代码代码如下:
pasv_enable=YES//开启PASV模式
pasv_min_port=40000//最小端口号
pasv_max_port=40080//最大端口号
pasv_promiscuous=YES
在防火墙配置内开启40000到40080端口
复制代码代码如下:
-A INPUT m state--state NEW m tcp p dport 40000:40080 j ACCEPT
重启iptabls和vsftpd
复制代码代码如下:
service iptables restart
service vsftpd restart
现在可以使用PASV模式连接你的FTP服务器了~
CentOs ftp 设置用户访问指定目录
使用root账号登录centos系统
检查是否已安装vsftp
rpm-qa|grep vsftpd#未输出信息,表示未安装vsftp
通过yum安装vsftp
yum-y install vsftpd
ftp启动、重启、停止、状态查询命令
service vsftpd start#启动ftpservice vsftpd stop#停止ftpservice vsftpd restart#重启ftpservice vsftpd status#查询ftp状态
设置为开机启动(可设置)
chkconfig vsftpd on
设置配置文件
vi/etc/vsftpd/vsftpd.conf
修改如下内容:
anonymous_enable=NO#设置不允许匿名账户登录chroot_local_user=YES#所有用户限制在主目录中chroot_list_enable=NO#不启动限制用户名单,直接限制所有用户userlist_enable=NO#当为YES时只有userlist_file文件中指定的用户才能登录allow_writeable_chroot=YES#(在文件尾部新增)防止用户有写入权限时报错local_root=/home/www#(在文件尾部新增)设置用户的根目录
重启ftp
service vsftpd restart
创建ftp用户
创建用户组
groupadd ftpgroups
创建用户
# useradd添加用户命令-d/home/www指定用户根目录-g ftpgroups加入用户组 ftptest用户名useradd-d/home/www-g ftpgroups ftptest
设置用户密码
passwd ftptest# passwd(命令) ftptest(用户名,根据你实际情况写)
设置不允许用于系统登录
usermod-s/sbin/nologin ftptest#ftptest(用户名,根据你实际情况写)
设置文件权限
chmod 755/home/www
设置目录拥有者
chown-R ftptest:root/home/www#ftptest:ftp用户名;/home/www:文件目录
设置防火墙
查看防火墙状态,如果未启动,直接跳过本步骤
systemctl status firewalld
开放20、21端口(阿里云服务器还需配置安全组开放防火墙)
firewall-cmd--permanent--zone=public--add-port=20/tcpfirewall-cmd--permanent--zone=public--add-port=20/udpfirewall-cmd--permanent--zone=public--add-port=21/tcpfirewall-cmd--permanent--zone=public--add-port=21/udpfirewall-cmd--reload#重新载入
至此ftp服务安装成功,如果出现不能访问或不能写入的情况,就还需要设置SELinux(关闭)
sestatus-v#查看SELinux状态,如果SELinux status参数为enabled即为开启状态setenforce 0#临时关闭(不用重启机器)