- 1. 前言
- 2. 禁用ssh的sftp服务
- 3. 配置FTP服务
- 3.1 安装vsftp
- 3.2 允许/禁止部分用户使用ftp服务
- 4. 连接
- 5. 结语
哎,头疼!!数据又误删了,这次是比较重要的数据,必须要进行恢复,试了很多方法都无效,最终只能在数据恢复公司恢复了,还不一定能恢复出来!
原因:开放sftp服务,学生通过xftp直接误删了非常重要的数据
尝试方法:通过exetundelete工具找到了误删文件夹的inode信息,但是恢复不出来,提示数据不可恢复。
继上次将服务器中的rm命令替换后,又出现这个问题,头大,看来得把ftp服务关掉,只创建一个通用ftp账户,然后大家通过命令将文件从该用户下拷贝到自己目录下。
思路:禁用ssh的sftp -> 创建ftp用户并设置权限 -> 配置独立的ftp服务
首先需要禁用ssh自带的sftp服务,打开文件/etc/ssh/sshd_config,注释掉sftp相关的配置,然后重启ssh。重启ssh后可以尝试通过sftp登录,如果不能登录则禁用成功。
# 打开配置文件 vim /etc/ssh/sshd_config # 修改如下 #Subsystem sftp /usr/libexec/openssh/sftp-server # 重启ssh systemctl restart sshd3. 配置FTP服务 3.1 安装vsftp
# 安装vsftp yum -y install vsftpd # 可添加专门的ftp用户,并修改用户文件夹权限,作为通用文件上传下载用户 useradd ftpuser -s /sbin/nologin passwd ftpuser chmod 777 /home/ftpuser # 查看ftp状态 getsebool -a|grep ftp # 打开与ftp相关项 setsebool -P allow_ftpd_full_access on setsebool -P tftp_home_dir on3.2 允许/禁止部分用户使用ftp服务
可以配置ftp为部分用户登录,或部分用户禁止登录,依据个人情况而定。博主是禁止除管理员以外的所有用户登录ftp,并创建通用ftp用户进行上传下载,因此配置为部分用户登录。
打开ftp配置文件:
vim /etc/vsftpd/vsftpd.conf
修改如下:
anonymous_enable=NO #禁止匿名用户登录 local_enable=YES async_abor_enable=YES #开启异步传输 chroot_local_user=YES #/etc/vsftpd/chroot_list 为允许使用ftp用户列表 #chroot_local_user=NO #/etc/vsftpd/chroot_list 为禁用使用ftp用户列表 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pasv_enable=YES pasv_min_port=3000 pasv_max_port=3999
打开防火请相关端口,并设置ftp开机自启。
# 设置防火墙开启tcp端口 firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=3000-3999/tcp --permanent firewall-cmd --reload systemctl restart vsftpd.service systemctl enable vsftpd #设置开机自启
创建/etc/vsftpd/chroot_list文件,并设置相应用户
vim /etc/vsftpd/chroot_list #添加如下用户 root admin ftpuser
依据博主的配置方法,只有出现在/etc/vsftpd/chroot_list列表中的用户才能进行ftp连接,连接端口为21,也可自定义端口,具体可自行百度。
4. 连接打开xftp,创建新连接,填写名称,主机ip,协议选择ftp,端口号为默认21或自定义端口号。填写用户、密码就可以进行连接了。
经过几次教训,还是要把权限设置好,学生的能力各不相同,不能过于依赖个人能动性,还是得设置好权限。通过配合上次的防误删rm命令,很大几率能避免数据丢失。
整理不易,点赞、收藏支持一下,谢谢!
参考:
https://www.linuxidc.com/Linux/2017-08/146085.htm
https://www.fcwys.cc/archives/260.html



