linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳
linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
1.切换到root用户 2.查看是否安装vsftp,我这个是已经安装的。 [[email?protected] vsftpd]# rpm -qa |grep vsftpd yum install vsftpd* -y [[email?protected] vsftpd]# /bin/systemctl start vsftpd.service /etc/init.d/vsftpd restart 停止ftp命令 #service vsftpd stop 重启ftp命令 #service vsftpd restart 5.测试一下能否登录FTP了,先安装一个ftp客户端组件。 yum -y install ftp ftp localhost 登录成功,就代表ftp服务可用了。 但是,外网是访问不了的,所以还要继续配置。 6.取消匿名登录 vi /etc/vsftpd/vsftpd.conf 重启 [[email?protected] vsftpd]# /bin/systemctl restart vsftpd.service groupadd ftpgroups useradd -d /home/ftp/ftptest -g ftpgroups ftptest passwd ftptest usermod -s /sbin/nologin ftptest 可以看到已经建好了 [[email?protected] vsftpd]# ls /home/ftp /bin/systemctl restart vsftpd.service vi /etc/vsftpd/vsftpd.conf chroot_local_user=YES (default follows)chroot_list_file=/etc/vsftpd/chroot_list 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项: allow_writeable_chroot=YES 好了,这样就只能访问自身所属目录。 如果希望某个用户可以访问根目录,把用户名加入 /etc/vsftpd/chroot_list 如果还是登陆不了ftp,那很有可能是selinux的问题,这个东西把他关掉就行 vi /etc/selinux/config SELINUX=enforcing 设置成SELINUX=disabled 重启一下服务器 reboot 重启完了别忘了把vsftpd服务打开,默认是自启的。 如果连接不上,很可能是防火墙阻止了,尝试关闭防火墙 systemctl stop firewalld.service #停止firewall 如果出现远程文件夹无法显示的情况,请使用主动模式连接,在你的ftp工具上设置。 vsftpd.conf文件参数中文解释请移步: 匿名用户配置anonymous_enable=YES # 是否允许匿名ftp,如否则选择NO 本地用户配置local_enable=YES # 是否允许本地用户登录 chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下 chown_upload=YES # 是否改变上传文件的属主 userlist_enable=YES deny_email_enable=YES # 是否允许禁止匿名用户使用某些邮件地址 ftpd_banner=Welcome to chenlf FTP service. # 定制欢迎信息 xferlog_enable=YES # 是否记录ftp传输过程 ascii_upload_enable=YES # 是否使用ascii码方式上传文件 connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data) nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR. FTP服务器的资源限制idle_session_timeout=600 # 设置session超时时间 max_clients=50 # 用户最大连接数 默认是0不限止 anon_max_rate=102400 # 匿名的下载速度 KB 其他配置文件 /etc/xinetd.d/vsftpd service ftp server_args =log_on_success += DURATION USERIDlog_on_failure += USERIDnice = 10 /etc/pam.d/vsftpd /etc/vsftpd.chroot_list /etc/shells 防火墙设置 如果是用默认的SuSEFirewall2,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2 把 ftp 添加到 FW_SERVICES_EXT_TCP,比如你还要打开 ssh 那么 FW_SERVICES_EXT_TCP "ftp ssh" 如果你需要被动模式 FTP 和 nat,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2 FW_LOAD_MODULES "ip_conntrack_ftp ip_nat_ftp" 另一种方式直接修改防火墙配置文件: cd /etc/sysconfig/vi SuSEfirewall2FW_SERVICES_EXT_TCP "ftp 21 telnet 23" rcSuSEfirewall2 restart(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |