centosftp服务器设置参数
❶ 如何在Centos下安装ftp服务器
一:安装vsftpd
查看是否已经安装vsftpd
2
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧
3
三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
4
接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件
5
设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
6
添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables
7
经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧
❷ centos ftp服务器怎么设置用户权限,要求 : 1.admin 所有权限 2.userA 只能上传 3.userB 只能下载
首先你要弄清楚vsftpd的验证方式有三种
匿名访问:任何人无需验证口令即可登入FTP服务端。
本地用户:使用FTP服务器中的用户、密码信息。
虚拟用户:创建独立的FTP帐号资料。
一般像你这种对权限控制比较严格的话,要用虚拟用户模式,下面是方法
第1步:建立虚拟FTP用户数据库文件。
切换至vsftpd程序目录:cd /etc/vsftpd/
创建用于生成FTP用户数据库的原始帐号和密码文件:vim vuser.list
//单数行为帐号,双数行为密码。
userA
passwdA
userB
passwdB
admin
passwdadmin
使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db:
db_load -T -t hash -f vuser.list vuser.db
FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuser.db
删除原始的帐号和密码文件:rm -f vuser.list
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:
useradd -d /var/ftproot -s /sbin/nologin virtual
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件:
vim /etc/pam.d/vsftpd.vu
//参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 禁止匿名开放模式。
local_enable=YES 允许本地用户模式。
guest_enable=YES 开启虚拟用户模式。
guest_username=virtual 指定虚拟用户帐号。
pam_service_name=vsftpd.vu 指定pam文件。
allow_writeable_chroot=YES 允许禁锢的FTP根目录可写而不拒绝用户登入请求。
第5步:为虚拟用户设置不同的权限
现在不论是userA还是userB帐户,他们的权限都是相同的——默认不能上传、创建、修改文件
指定用户独立的权限配置文件存放的目录:
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
创建用户独立的权限配置文件存放的目录:
mkdir /etc/vsftpd/vusers_dir/
切换进入到该目录中:cd /etc/vsftpd/vusers_dir/
创建userA的配置文件:
vim userA
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_download_enable=NO
创建userB的配置文件:
vim userB
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_download_enable=YES
创建admin的配置文件
vim admin
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_download_enable=YES
第6步:重启vsftpd服务,验证实验效果。
systemctl restart vsftpd
如果出现操作被拒绝,考虑selinux的因素
❸ CentOS下安装使用FTP服务器端程序ProFTPd的教程
安装:
安装EPEL软件包
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
YUM安装ProFTPd
复制代码代码如下:
yum install proftpd
PS:编译安装ProFTPd的方法
复制代码代码如下:
wget ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.proftpd.net/distrib/source/proftpd-1.3.1.tar.gz
tar xzvf proftpd-1.3.1.tar.gz
cd proftpd-1.3.1
./configure --with-moles=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql
--with-includes=/usr/include/mysql
--with-libraries=/usr/lib/mysql
make && make install
设置开机启动
chkconfig --level 3 proftpd on
ProFTPd管理:
启动
复制代码代码如下:proftpd:service proftpd start
停止
复制代码代码如下:proftpd:service proftpd stop
重启
复制代码代码如下:proftpd:service proftpd restart
重载
复制代码代码如下:proftpd:service proftpd reload
配置文件/etc/proftpd.conf,可以通过proftpd -t6指令检测语法是否正确。
添加ftp用户和用户组
groupadd -g 5500 ftpgroup
adser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
添加虚拟用户
首先我们需要设置配置文件/etc/proftpd.conf。
添加下面代码进配置文件:
AuthUserFile /etc/ftpd.passwd
AuthGroupFile /etc/ftpd.group
关闭检测/etc/shells:
复制代码代码如下:
RequireValidShell off
设置仅使用虚拟用户认证:
复制代码代码如下:
AuthOrder mod_auth_file.c
禁止PAM认证:
复制代码代码如下:
PersistentPasswd off
AuthPAM off
限制改变根目录:
复制代码代码如下:
DefaulRoot ~
按照上面的要求设置好配置文件后,我们使用ftpasswd工具来添加虚拟用户,首先下载这个工具。
复制代码代码如下:
cd /usr/sbin/
wget http://www.castaglia.org/proftpd/contrib/ftpasswd
chmod +x ftpasswd
ftpasswd工具的格式如下:
复制代码代码如下:
# ftpasswd --passwd --name {username} --file /etc/ftpd.passwd --uid {5000} --gid {5000} --home /var/ftp/username-home/ --shell /bin/false
# ftpasswd --group --name group1 –file /etc/ftpd.group --gid 5000 --member username
❹ linux 服务器 centos5.5 FTP如何建立用户配置权限 A用户能够下载 B用户能够访问 C用户能够上传下载。急
1、ftp服务器只要你启用了匿名用户访问ftp服务器,就有访问的权限,权限只有查看,不能上传下载修改,所以你的B用户匿名登录就行了;本地用户只要在配置文件增加本地用户能下载,就有查看、下载的权限,但不能写入,即不能上传、修改文件目录之类,所以A用户以自己名字登录就行了;C用户能上传下载,就要在前面的基础上,给他单独设立权限了,用访问控制列表设权限。步骤如下:
2、修改配置文件
#vim/etc/vsftpd/vsftpd.conf#下面没有的就添加,注意匿名用户权限不要太大
anonymouse_enable=YES#启用匿名用户
download_enable=YES#本地用户可下载
local_root=/var/ftp#修改本地用户ftp根目录,默认本地用户只能访问自己的家目,你可以根据自己情况修改
3、给C用户单独设立权限,用setfacl命令设访问控制
#setfacl-mu:C:rwx/var/ftp/
-m 增加一条策略
u 表示是给用户设立权限,另外一个是 g ,给组;
C C用户
rwx 表示所有权限,一定是这个,才能有下载上传权限
后面那个是ftp目录
4、登录
B用户以匿名登录;
A和C以自己的系统账户密码登录,会有相应的权限的。。
你应该对vsftpd的配置文件不熟,去网上找份详解,自己慢慢研究
祝你好运~~~
❺ CentOS53系统设置vsftpd虚拟用户的具体步骤
我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
本文的Linux系统是CentOS 5.3
yum -y install vsftpd
一、建立Vsftpd虚拟用户:
1、添加虚拟用户口令文件安装Vsftpd
[[email protected] ~]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
ftp1 #用户名
123456 #密码
ftp2 #用户名
123456 #密码
2、生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
下面使用db_load命令生成虚拟用户口令认证文件。
[[email protected] ~]# db_load -T -t hash -f /home/vuser.txt /etc/vsftpd_login.db
-bash: db_load: command not found
###############################
出现没有db_load的提示是因为有些db4的包没有安装,需要安装下列包:
db4-*.rpm
db4-tcl-*.rpm
db4-utils-*.rpm
或者直接: yum -y install db4 db4-tcl db4-utils
db_load命令主要是用来生成db数据库使用的
格式:
db_load -T -t hash -f passwd.txt /etc/vsftpd/user_passwd.db
生成一个hash码型的数据库文件供ftp虚拟用户使用。
##########################
[[email protected] ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
3、编辑vsftpd的PAM认证文件
在/etc/pam.d目录下,
[[email protected] ~]#vi /etc/pam.d/vsftpd
将里面其他的都注释掉,添加下面这两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
4、建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
[[email protected] ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser
[[email protected] ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限
5、配置vsftpd.conf(设置虚拟用户配置项)
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户[useradd -d /home/vftpsite -s
/sbin/nologin vftpuser]
pam_service_name=vsftpd #PAM认证文件
6、重启vsftpd服务
[[email protected] ~]#service vsftpd restart
7、测试虚拟用户登录FTP
C:Documents and SettingsAdministrator>ftp 192.168.2.12
Connected to 192.168.2.12.
220 (vsFTPd 2.0.5)
User (192.168.2.12:(none)): ftp1
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/vftpsiteConnection closed by remote host
.//在配置vsftpd的时候连接vsftpd出现了500 OOPS: cannot change directory:/home/vftpsite
的错误,vftpsite为登录时使用的本地用户名。
解决办法:
[[email protected] ~]# setsebool -P ftp_home_dir on
也有网上说在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
测试:
C:Documents and SettingsAdministrator>ftp 192.168.2.12
Connected to 192.168.2.12.
220 (vsFTPd 2.0.5)
User (192.168.2.12:(none)): ftp1
331 Please specify the password.
Password:
230 Login successful.
二、虚拟用户高级设置:
1、virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除
、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
2. 建立各个虚拟用户自身的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
添加:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[[email protected] ~]#mkdir /etc/vsftpd/vsftpd_user_conf
编辑ftp1的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
添加:
anon_world_readable_only=NO #开放ftp1的下载权限(只能下载)。注意这个地方千万不能写成YES
,否则ftp1将不能列出文件和目录。
编辑ftp2的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
添加:
write_enable=YES #开放ftp2的写权限
anon_world_readable_only=NO #开放ftp2的下载权限
anon_upload_enable=YES #开放ftp2的上传权限
anon_mkdir_write_enable=YES #开放ftp2创建目录的权限
anon_other_write_enable=YES #开放ftp2删除和重命名的权限
3、所有虚拟用户使用一般配置
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
anon_world_readable_only=NO #可以下载
anon_upload_enable=NO(默认值) #不能上传
anon_mkdir_write_enable=NO(默认值) #不能新建文件夹
anon_other_write_enable=NO(默认值) #不能删除和重命名文件
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
4、各个虚拟用户使用自身配置
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
[[email protected] ~]#mkdir /etc/vsftpd/vsftpd_user_conf
编辑ftp1的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
anon_world_readable_only=NO
编辑ftp2的配置文件
[root@CentOS5 /]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
❻ CentOS安装vsftp建新用户的方法
rpm -qa | grep vsftpd 查看有没有安装vsftp
运行命令开始安装
yum -y install vsftpd
centos会自动下载安装。
安装完毕后
设置每次开机时自动运行
chkconfig vsftpd on
手工启动
service vsftpd start
可以通过 netstat -tl查看是否在监听21端口。
建新用户
# useradd –d /var/www -g ftp –s /sbin/nologin myftp
说明:
-s /sbin/nologin 是让其不能登陆系统
-d 是指定用户目录为/var/www ,这里可以替换成任何你需要的目录。
-g ftp 把用户加入到ftp组中(vsftp已创建)
myftp是ftp用户名,在配置时把这个myftp换成你的ftp用户名。
执行该命令后,如果出现这样的错误提示:
useradd: warning: the home directory already exists.
Not ing any file from skel directory into it.
这说明用户的目录已经存在(/var/www,这个可以是任何你设定的目录),不可再新建此目录,并非添加用户失败,可以忽略。
特别提醒:用useradd建立的用户,如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有系统登陆centos服务器的权限,在虚拟主机环境下,这非常危险。所以要在useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的ftp专用账号(虚拟账户)
设置密码
# passwd myftp
提示:重复输入2次
修改/var/www目录属性:(或任何自己定义的目录)
# chown -R myftp /var/www 递归把所有目录及文件的拥有者设为新添加的ftp用户
# chmod -R 755 /var/www 递归地设置拥护者全部权限,其他用户只有读取和执行权限
这样,如果网站运行时需要有写入权限,可以直接通过ftp的用户名来修改。
配置文件 /etc/vsftpd/vsftpd.conf
设置帐户只能访问自己的目录,也就是上面建用户的时候设置的目录–d /var/www
Chroot_local_user=yes
重启 vsftpd服务
# service vsftpd restart
❼ CentOs ftp 设置用户访问指定目录
使用root账号登录centos系统
检查是否已安装vsftp
rpm -qa |grep vsftpd #未输出信息,表示未安装vsftp通过yum安装vsftp
yum -y install vsftpdftp启动、重启、停止、状态查询命令
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 #临时关闭(不用重启机器)
❽ 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资源了。