1. 前言
哎,头疼!!数据又误删了,这次是比较重要的数据,必须要进行恢复,试了很多方法都无效,最终只能在数据恢复公司恢复了,还不一定能恢复出来!
原因:开放sftp服务,学生通过xftp直接误删了非常重要的数据 尝试方法:通过exetundelete工具找到了误删文件夹的inode信息,但是恢复不出来,提示数据不可恢复。
继上次将服务器中的rm命令替换后,又出现这个问题,头大,看来得把ftp服务关掉,只创建一个通用ftp账户,然后大家通过命令将文件从该用户下拷贝到自己目录下。 思路:禁用ssh的sftp -> 创建ftp用户并设置权限 -> 配置独立的ftp服务
2. 禁用ssh的sftp服务
首先需要禁用ssh自带的sftp服务,打开文件/etc/ssh/sshd_config,注释掉sftp相关的配置,然后重启ssh。重启ssh后可以尝试通过sftp登录,如果不能登录则禁用成功。
vim /etc/ssh/sshd_config
systemctl restart sshd
3. 配置FTP服务
3.1 安装vsftp
yum -y install vsftpd
useradd ftpuser -s /sbin/nologin
passwd ftpuser
chmod 777 /home/ftpuser
getsebool -a|grep ftp
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
3.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
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pasv_enable=YES
pasv_min_port=3000
pasv_max_port=3999
打开防火请相关端口,并设置ftp开机自启。
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或自定义端口号。填写用户、密码就可以进行连接了。
5. 结语
经过几次教训,还是要把权限设置好,学生的能力各不相同,不能过于依赖个人能动性,还是得设置好权限。通过配合上次的防误删rm命令,很大几率能避免数据丢失。 整理不易,点赞、收藏支持一下,谢谢!
参考: https://www.linuxidc.com/Linux/2017-08/146085.htm https://www.fcwys.cc/archives/260.html
|