合肥做网站推广哪家好,太原建站模板源码,北京互联网金融公司排名,为女朋友做的网站为什么要用虚拟用户#xff1f; 1.增强安全性#xff1a;使用虚拟用户#xff0c;可以避免直接使用系统账户进行 FTP 访问,通过使用虚拟用户#xff0c;可以限制 FTP 用户的访问范围和权限#xff0c;减少潜在的安全风险。 2.隔离用户和文件#xff1a;虚拟用户可以被隔…为什么要用虚拟用户 1.增强安全性使用虚拟用户可以避免直接使用系统账户进行 FTP 访问,通过使用虚拟用户可以限制 FTP 用户的访问范围和权限减少潜在的安全风险。 2.隔离用户和文件虚拟用户可以被隔离到特定的目录或目录树中,这样可以确保 FTP 用户只能访问其分配的特定文件夹而不能访问整个文件系统。 3.简化管理虚拟用户可以独立于操作系统的用户管理进行配置和管理,可以更方便地添加、修改或删除 FTP 用户而无需涉及操作系统的账户管理。 虚拟用户配置步骤 1. 创建一个ftp用户
#创建一个用户ftpuser,不创建家目录设置ftpuser家目录为/mnt/ftp/,不允许其登录shelluseradd -M ftpuser -d /mn/ftp/ -s /sbin/nologin
2. 创建ftp目录以及虚拟用户访问的根目录
mkdir -p /mnt/ftp/ceshi{01..03}chown -R ftpuser. /mnt/ftp/chmod -R 755 /mnt/ftp/
3. 在vsftpd中添加配置文件信息,允许使用虚拟用户登录FTP
vim /etc/vsftpd/vsftpd.confanonymous_enableNO
local_enableYES
write_enableYES
local_umask022
dirmessage_enableYES
xferlog_enableYES
connect_from_port_20YES
xferlog_std_formatYES
listenYES
listen_ipv6NO
pam_service_namevsftpd #使用pam验证用户身份
userlist_enableYES
tcp_wrappersYES
dual_log_enableyes
xferlog_enableYES
xferlog_file/var/log/xferlog
guest_enableYES #启用虚拟用户
guest_usernameftpuser #指定虚拟用户绑定的系统用户名
virtual_use_local_privsYES #指定虚拟用户使用本地用户权限
user_config_dir/etc/vsftpd/vconf #虚拟用户的配置文件目录
allow_writeable_chrootYES
anon_other_write_enableYES
chroot_local_userYES
4. 创建ftp虚拟用户需严格按照一行用户名一行密码的格式来编写
mkdir /etc/vsftpd/virtuserscat /etc/vsftpd/virtusers EOF
ceshi01
123456
ceshi02
123456
ceshi03
123456
EOF
5. 生成虚拟用户数据库文件在pam认证中关联vt-users.db文件
#如果新增用户则需要重新生成db文件db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/vt-users.dbvi /etc/pam.d/vsftpd#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db/etc/vsftpd/vt-users
account sufficient /lib64/security/pam_userdb.so db/etc/vsftpd/vt-users 6. 创建虚拟用户配置文件为每个用户设置独立的权限以及存储目录
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vconf/ceshi{01..03}cat /etc/vsftpd/vconf/ceshi01 EOF
local_root/mnt/ftp/ceshi01 #用户的根目录设置为/mnt/ftp/ceshi01
anonymous_enableNO
anon_upload_enableNO
anon_mkdir_write_enableNO
write_enableYES
local_umask022
idle_session_timeout600 #空闲会话超时时间为 600 秒。如果客户端在该时间内没有发送任何数据或命令服务器将会关闭与客户端的连接
data_connection_timeout120 #数据连接超时时间为 120 秒。在建立数据连接后如果在该时间内未进行任何数据传输服务器将会关闭数据连接。
local_max_rate204800 #最大传输速率为204800bits
EOFcat /etc/vsftpd/vconf/ceshi02 EOF
local_root/mnt/ftp/ceshi02
anonymous_enableNO
anon_upload_enableNO
anon_mkdir_write_enableNO
write_enableYES
local_umask022
idle_session_timeout600
data_connection_timeout120
local_max_rate409600
EOFcat /etc/vsftpd/vconf/ceshi03 EOF
local_root/mnt/ftp/ceshi02
anonymous_enableNO
anon_upload_enableNO
anon_mkdir_write_enableNO
write_enableYES
local_umask022
idle_session_timeout600
data_connection_timeout120
EOF
7. 测试用户登录上传下载文件
# 生成一个大文件分别用不同的账户登陆测试dd if/dev/zero oftest bs1M count1000
SSL加密传输配置
为什么要配置ssl加密
那自然是不安全呗。 FTP传输时皆为明文传输通过抓包软件能够轻易获取账号和密码为了增强 FTP 服务的安全性可以配置 SSL 证书以确保在数据传输过程中的加密保护 1. 创建CA证书目录
#创建文件夹默认这些文件夹都是不存在的
mkdir -p /etc/pki/CA/{certs,newcerts,crl,private}#进入到CA目录中创建索引文件
cd /etc/pki/CA/touch index.txt#指定一个证书编号echo 01serial
2. 创建私钥文件
openssl genrsa -out private/cakey.pem 2048
3. 创建证书文件
openssl req -new -x509 -nodes -key private/cakey.pem -days 7300 -out cacert.pem
4. 为ftp应用证书配置私钥文件与证书文件的位置在ftp配置文件末尾添加以下行
#虽然 SSLv2 和 SSLv3 协议在过去被广泛使用但由于安全性问题现在已不推荐使用。建议禁用 SSLv2 和 SSLv3仅使用 TLSv1.2 或更新版本rsa_cert_file/etc/pki/CA/cacert.pem
rsa_private_key_file/etc/pki/CA/private/cakey.pem
force_local_data_sslYES
force_local_logins_sslYES
ssl_enableYES
ssl_sslv1YES
ssl_sslv2YES
ssl_sslv3YES#重启服务
systemctl restart vsftpd
5.检查验证
略