vsftp账号_Vsftp用户限制
背景
Oracle全库备份,异地备份
在实现异地备份后,由第三方人员登录服务器拉取dmp文件.
为了确保安全,创建一个特定ftp账号用于第三方人员使用
要求
1.可以登录服务器
2.可以拉取dmp文件
3.仅限在dmp文件的目录下,不能cd其他路径,ls其他目录
解决过程
yum 安装ftp服务
[root@78778e06dc0a /]# yum install vsftpd -y
修改vsftp配置文件,开启限制
[root@78778e06dc0a /]# vim /etc/vsftpd/vsftpd.conf
最后加上以下几行:
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
user_config_dir=/etc/vsftpd/user.d
vsftpd.conf配置文件说明
anonymous_enable=YES #设置是否允许匿名用户登录
local_enable=YES #设置是否允许本地用户登录
local_root=/home #设置本地用户的根目录
write_enable=YES #是否允许用户有写权限
local_umask=022 #设置本地用户创建文件时的umask值
anon_upload_enable=YES #设置是否允许匿名用户上传文件
anon_other_write_enable=YES #设置匿名用户是否有修改的权限
anon_world_readable_only=YES #当为YES时,文件的其他人必须有读的权限才允许匿名用户下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载
download_enbale=YES #是否允许下载
chown_upload=YES #设置匿名用户上传文件后修改文件的所有者
chown_username=ftpuser #与上面选项连用,表示修改后的所有者为ftpuser
ascii_upload_enable=YES #设置是否允许使用ASCII模式上传文件
ascii_download_enable=YES #设置是否允许用ASCII模式下载文件
chroot_local_user=YES #设置是否锁定本地用户在自己的主目录中,(登录后无法cd到父目录或同级目录中)
chroot_list_enable=YES #设置是否将用户锁定在自己的主目录中
chroot_list_file=/etc/vsftpd/chroot_list #定义哪些用户将会锁定在自己的主目录中
userlist_enable=YES #当为YES时表示由userlist_file文件中指定的用户才能登录ftp服务器
userlist_file=/etc/vsftpd/user_list #当userlist_enable为YES时才生效
为每个用户建立对应的配置文件
如
[root@78778e06dc0a /]#mkdir /etc/vsftpd/user.d
[root@78778e06dc0a /]#vim /etc/vsftpd/user.d/ftp
加入以下内容
local_root=/home/ftp
然后启动ftp服务
[root@78778e06dc0a /]#service vsftpd start
登录测试
问题
1. 500 OOPS: could not bind listening IPv4 socket
原因:因为同时指定了 inetd和standalone 两种运行方式,端口冲突了.
解决方法:
1).使用XINET模式
去掉/etc/rc.local文件中的vsftpd的启动脚本/usr/local/sbin/vsftp &;
重启xinetd服务, service xinetd restart
运行service vsftpd restart命令启动vsftpd
2).使用STANDALONE独立模式
在服务器的负担比较重的情况下最好用这个模式
或者直接修改/etc/xinetd.d/vsftpd文件,把disable=no改成disable=yes就行了!
2. service vsftpd start时出现Starting vsftpd for vsftpd: [ FAILED ]
修改/etc/logrotate.d/vsftpd.log
把 missingok 注释掉
3. 500 OOPS: cannot change directory:/home/…
sestatus -b | grep ftp
setenforce 0
setenforce: SELinux is disabled
[root@78778e06dc0a /]# getenforce
Disabled
[root@78778e06dc0a /]# setsebool -P ftp_home_dir=1
setsebool: SELinux is disabled.
[root@78778e06dc0a /]# setsebool -P allow_ftpd_full_access 1
setsebool: SELinux is disabled.
再次尝试,OK
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/213571.html原文链接:https://javaforall.cn
相关文章
- BI如何实现用户身份集成自定义安全程序开发
- 故障分析 | Cassandra 用户信息 list Error
- 5亿用户呼唤“小度小度”,百度地图掌舵AI赛道
- 对用户体验最有用的诠释,重读《用户体验要素》
- 教你Postgresql如何限制用户登录错误次数的实例
- Oracle 删除用户和表空间详细介绍
- 的体验Linux:一次让用户经历的旅程(linux一个用户)
- root用户Linux内核中限制Root用户的机制(linux内核限制)
- Linux用户管理权限限制(linux用户限制)
- 升级Oracle软件升级:提升用户体验(oracle的软件)
- Linux用户空间限制:重设界限合理分配资源(linux用户空间限制)
- Linux下更改用户ID的方法(linux更改用户id)
- MySQL用户权限更新: 提高安全性(mysql用户权限修改)
- 微软敬告用户不要滥用Windows 365 Cloud PC否则可能会被限制使用
- 硬核观察 | 微软的 VS Code 有 1400 万用户,而全球开发者才 2400 万
- Binance宣布将限制香港用户进行衍生品交易
- Binance宣布将限制香港用户进行衍生品交易
- 带鱼屏用户狂喜:微软设计团队解释Windows 11任务栏为何要居中
- Oracle用户登录的步骤与注意事项(oracle登录用户)
- Linux下如何查看当前在线用户(linux查看谁在线)
- Linux限制用户登录:安全加固有多重要(linux 限制用户登录)
- 限制MSSQL管理用户IP限制策略(mssql用户ip)
- Redis缓存为用户提供更高的操作效率(缓存Redis 限制用户)
- javascript限制用户只能输汉字中文的方法
- Windwos服务器远程桌面限制用户使用同一个会话的3种设置方法