vsftp账号_Vsftp用户限制

vsftp账号_Vsftp用户限制背景Oracle全库备份,异地备份在实现异地备份后,由第三方人员登录服务器拉取dmp文件.为了确保安全,创建一个特定ftp账号用于第三方人员使用要求1.可以登录服务器2.可以拉取dmp文件3.仅限在dmp文件的目录下,不能cd其他路径,ls其他目录解决过程yum安装ftp服务[root@78778e06dc0a/]#yuminstallvsftpd-y修改vsftp配置文件,开启限制[…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

背景

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.net/213571.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ARIMA_如何确定arima模型的阶数

    ARIMA_如何确定arima模型的阶数1 总体介绍在以下主题中,我们将回顾有助于分析时间序列数据的技术,即遵循非随机顺序的测量序列。与在大多数其他统计数据的上下文中讨论的随机观测样本的分析不同,时间序列的分析基于数据文件中的连

    2022年8月5日
    3
  • D盘Program Files 文件夹里文件不显示,没隐藏。怎么才能显示出来?

    D盘Program Files 文件夹里文件不显示,没隐藏。怎么才能显示出来?

    2021年11月17日
    48
  • cefsharp设置cookie,CefSharp如何存储Cookie

    cefsharp设置cookie,CefSharp如何存储CookieIcan’tgetcookiestosaveinCefSharp.HereiswhatItried:CefSettingssettings=newCefSettings();stringpath=Environment.GetFolderPath(Environment.SpecialFolder.Desktop);Cef.Initialize(newCefS…

    2022年9月18日
    0
  • Uniapp中onShow()的应用

    Uniapp中onShow()的应用遇到问题:在使用一些变量进行判断时,用完一次开始下一次判断时,结果会跟前一次一样,比如门禁中第一个房子打开后,切换到另外的房子,结果返回结果跟第一个房子一样。原因分析:用于使用了相同的变量进行判断,然而在第一次执行完后,并没有把变量重新初始化,导致页面在第二次加载的时候,显示的结果跟第一次一样。解决方法:在onShow()里面,通过一些参数,判断在切换页面的时候,有没有切换房屋,如果房屋没变的话,切换页面时就不用重新初始化变量。如果房屋改变了,就把变量重新初始化。总结:.

    2022年6月21日
    99
  • nginx做正向代理_正向代理和反向代理图

    nginx做正向代理_正向代理和反向代理图环境在一个网络环境中,只有一台服务器可以使用互联网,而其他内网服务器都可以访问到这台互联网服务器,于是,我们可以通过nginx的正向代理访问互联网地址此处举例:互联网服务器IP:192.168.1.100内网服务器IP:192.168.1.101部署安装包:nginx-1.20.2.tar.gzproxy_connect模块:gitclonehttps://github.com/chobits/ngx_http_proxy_connect_module.git操…

    2022年10月21日
    0
  • 浅拷贝和深拷贝的方法java_jdg粗中有细

    浅拷贝和深拷贝的方法java_jdg粗中有细1.拷贝的引入(1)引用拷贝创建一个指向对象的引用变量的拷贝。例1:Teacherteacher=newTeacher(“Taylor”,26);Teacherotherteacher=teacher;System.out.println(teacher);System.out.println(otherteacher);输出结果:blog.Teacher@355da254bl

    2025年6月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号