开启SSH
- 安装虚拟机后,设置网络连接方式为桥接模式
- 修改/etc/ssh/sshd_config文件中的PermitRootLogin 改为yes,并取消注释==》可通过ssh连接
- 执行systemctl restart sshd
开启ftpuser
安装vsftpd:
- sudo apt update
- sudo apt install vsftpd
备份原始配置文件:
- sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
编辑vsftpd配置文件:
- vim /etc/vsftpd.conf
确保以下配置(至少)被设置或取消注释(移除行首的#):
- anonymous_enable=NO # 禁用匿名用户
- local_enable=YES # 允许本地用户登录
- write_enable=YES # 允许修改权限
- chroot_local_user=YES # 将用户限制在主目录(可不用)
重启vsftpd服务以应用更改:
- sudo systemctl restart vsftpd
允许FTP通过防火墙:
- sudo apt install curl
- sudo curl -i -X MOVE -u ftp:your_password -T - 'ftp://ftp.debian.org/debian'
设置FTP用户和权限(可选):
- sudo adduser ftpuser
- sudo mkdir /home/ftpuser/files
- sudo chown nobody:nogroup /home/ftpuser/files
- sudo chmod a-w /home/ftpuser/files
- sudo vim /etc/vsftpd.conf
添加或修改:
- local_root=/home/ftpuser/files
- user_sub_token=$USER
重启vsftpd服务以应用更改:
- sudo systemctl restart vsftpd
修改ftp用户的权限
- sudo apt update
安装acl命令
- sudo apt install acl
执行setfacl命令修改指定用户权限
- sudo setfacl -R -m u:ftphel:rwx /
-R 递归设置所有目录
-m 指定的ACL规则
u:ftphel(用户名)
rwx:读写执行权限
注意:此修改文件权限的命令会导致ssh连接失败,原因是ssh下的几个文件权限过于开放
检查过程:
- systemctl restart sshd #重启ssh服务
- /usr/sbin/sshd -t # 查看是否存在报错日志
类似以下报错:
解决办法: - chmod 600 /etc/ssh/ssh_host_ed25519_key
- chmod 600 /etc/ssh/ssh_host_ecdsa_key
- chmod 600 /etc/ssh/ssh_host_rsa_key