linux系统搭建ftp服务器--只给某个用户访问其默认目录下的文件

1、环境:

window操作系统中安装FlashFXP 软件或xftp;
服务器端的操作系统为centos8;

2、检查安装vsftpd软件

查看所有的安装的软件包 并在结果中查找包含vsftp 的文件

rpm -qa | grep vsftpd

如果没有装则使用yum命令安装

yum -y install vsftpd

3、创建用户

在/var目录下创建www文件,
使用useradd命令:创建用户feng并指定用户目录为/var/www/feng

useradd -d /var/www/feng feng 

#(回车)给用户feng设置登录密码

passwd feng   

在/var/www/feng 目录下创建一个site文件夹一个da文件夹

用于存储项目配置文件,需要在nginx.conf文件中引入site文件下的.conf文件

mkdir site

用于放项目内容

mkdir da

查看新创建的用户的信息
tail:默认显示指定文件的末尾10行

tail /etc/passwd

或:

cat /etc/passwd
/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下
(1):用户名。
(2):密码(已经加密)
(3):UID(用户标识),操作系统自己用的
(4):GID组标识。
(5):用户全名或本地帐号
(6):开始目录
(7):登录使用的Shell,就是对登录命令进行解析的工具。

4、配置/etc/vsftpd/vsftpd.conf文件

查看下该文件里有些啥

cat /etc/vsftpd/vsftpd.conf

切换当前工作目录到/etc/vsftpd

cd /etc/vsftpd

配置vsftpd.conf 锁定根目录

vim vsftpd.conf
#本地用户登录后自动转到的ftp根目录
local_root= /var/www
#将所有用户都不被限定在指定的主目录内
chroot_local_user=NO
#启用列外的用户列表
chroot_list_enable=YES
#指定列外的用户列表文件--指定的用户列表,这些用户作为“例外”,被限定在指定的主目录
chroot_list_file=/etc/vsftpd/chroot_list

在/etc/vsftpd/下建立文件chroot_list文件,不希望使用者在ftp 时能够切换到上一层目录/var/www

vim /etc/vsftpd/chroot_list

在文件中添加用户名,然后可以禁止了访问上一层了
例如:username 多个用户请换行

在这里插入图片描述

配置完之后重启vsftpd服务
查看vsftpd 服务的运行状态

systemctl status vsftpd

如果最后一条状态是stoped则启动vsftpd

systemctl start vsftpd 

如果最后一条状态是started则重启vsftpd

systemctl restart vsftpd 

在window系统中使用FlashFXP 客户端登录或者用xftp登录

5、配置文件夹权限

切换工作目录到/var/www

cd /var/www

查看文件夹中所包含的文件的信息—查看文件夹属于用户,属于哪个用户组,

ll

改文件夹的用户权限

 chown feng:feng fengchmod 700 feng

这个时候 他们可以在各自拥有的文件夹这创建文件 ,但不可以到对方的文件夹中创建文件

权限值的解读 文件夹权限:
r==>可读 w==>可写 x==>可执行
r=4 w=2 x=1
777 代表 rwxr-rwx-rwx 所有用户都可读可写可执行。

用户登录xftp测试能否打开其他用户的文件。

结果:feng用户只可以对feng目录下的文件进行操作(上传、下载、修改),可以访问其他目录文件,但是,对于其他目录文件只能查看,不能修改。

((注意)):如果需要让该用户只可以看到其目录下的内容,不可以查看,且不能访问其他目录文件,请看:https://blog.csdn.net/weixin_38797742/article/details/109306322

6、vsftp设置不同用户登录ftp的根目录不同

vim vsftpd.conf

添加如下配置

user_config_dir=/etc/vsftpd/userconfig 用户配置目录

mkdir userconfig

cd userconfig/

[root@localhost userconfig]# vi 8601 (文件名就是用户名)

local_root=/app/printfile/8601 (设置用户登录的目录)

6,额外

创建某个用,可以操作linux修改文件夹及其下面所有文件的权限:
chmod -R 777 www/
-R参数是递归 处理目录下的所有文件以及子文件夹
777是变更后的权限表示(所有用户有读和写以及执行的权限)
这样www文件夹下的文件就可以被所有用户修改了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Openshift源中的高可用性Drools无状态服务

嗨,大家好! 在这篇博客文章中,我想举一个简单的例子,展示使用Openshift 3(Docker和Kubernetes)扩展Drools Stateless服务有多么容易。 我将展示如何通过按需提供新实例来扩展我们的服务,以及如何…

jpa jsf_完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第1部分

jpa jsf我们创建了这篇文章,将展示如何使用以下工具创建完整的Web应用程序:Tomcat7,带有Primefaces的JSF2(Facelets和Libraries)(具有AutoComplete),JPA / Hibernate(具有…

错题

1. 本题考查String对象的声明和赋值方式。C#中没有new String() 这种方式来构造字符串。故选 AC 2. 在CSS中,控制列表样式的属性有:list-style-type,list-style-position,list-style-image,list-style equals比较的是像…

javascript-发布订阅模式

说明:本篇文章转载自小火柴的蓝色理想的一篇博文。原文地址:http://www.cnblogs.com/xiaohuochai/p/8031564.html 发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖…

python-列表list和元组tuple

list Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates [Michael, Bob, Tracy] >>&g…

jsf表单验证_动态表单,JSF世界期待已久

jsf表单验证新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件。 通常,如果知道行/列的数量,元素的位置等,则可以通过h:panelGrid或p:panelGrid构建非常简单的表单。 静态表单是正确的。 但是,如果在运行…

转载黑客是如何黑到你手机的?绝对涨姿势,一位黑客的Wi-Fi入侵实录!

声明:这是一虚构的故事,因此对图片均进行了模糊化处理。内容整理自网络! 故事的主人公小黑是一名从事IT相关工作的技术宅男。五一长假来临,宅在家中的他相当无聊,打开手机上的Wi-Fi模块,发现附近有将近10个…

html5——DOM扩展

元素获取 1、document.getElementsByClassName (class) 通过类名获取元素,以类数组形式存在。 2、document.querySelector(‘div’) 通过CSS选择器获取元素,符合匹配条件的第1个元素。 3、document.querySelectorAll(selector) 通过CSS选择器获取元素&am…

JAVA递归实现全排列

全排列(permutation) 排列组合概念 排列,就是指从给定n个数的元素中取出指定m个数的元素,进行排序 组合,则是指从给定n个数的元素中仅仅取出指定m个数的元素,不考虑排序 全排列 以数字为例,全排…

java云端部署_Jelastic Java云端平台

java云端部署谁在Jelastic背后? 那是我的第一个问题,因此我浏览了Jelastic网站。 回答此问题的最佳方法是查看“ Jelastic团队”部分。 创始人,顾问,特殊合作伙伴构成了一支真正的专业团队。 作为特殊的合作伙伴,您会…

Spring Bootstrap中带有配置元数据的高级配置

在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后,是时候看看如何进一步执行此步骤并进一步自定义配置了。 在本文中,我计划提出对配置属性的弃用,并讨论各种值提供程序&#xff…

windows系统服务器添加ssl证书

一、为域名申请证书 浏览器打开后系在对应版本: https://keymanager.org/ 注册账号: https://freessl.cn/ 安装刚刚下载的软件; 登录进去就可以申请域名的证书了 二、域名解析 解析完后倒回软件那点击“配置完成,检查一下” …

使用ANTLR在5分钟内用Java解析任何语言:例如Python

我喜欢出于多种目的处理代码,例如静态分析或自动重构。 对我来说,有趣的部分是推理从抽象语法树(AST)构建的模型。 为此,您需要一种从源文件中获取AST的方法。 使用ANTLR和完整的语法集合可在此处轻松完成:…

linux服务器配置ssl证书

一、申请ssl证书 这里有申请域名的ssl证书的步骤: https://blog.csdn.net/weixin_38797742/article/details/109471250 二、配置服务器 打开项目对应的配置文件,配置图中三行信息,端口、还有申请的证书的所在目录。 listen 443 ssl; ssl_…

视图层的数据绑定

数据绑定WXML 中的动态数据均来自对应 Page 的 data。 只要把data中的数据改变,视图层就会自动改变,无需使用DOM操作。 简单绑定数据绑定使用 Mustache 语法(双大括号)将变量包起来 使用方法: {{ 内容 }} 在组件中使用…

【原创】Linux安装Redis

【注】说是原创其实是从各个博客中copy出来的,不过经本人总结,也算是半个原创吧,哈哈... 1.安装环境: 2.安装步骤 2.1 安装目录 cd /usr/local mkdir redis 2.2 下载包 wget http://download.redis.io/releases/redis-3.2.11.tar…

原型链继承

转载于:https://www.cnblogs.com/cmblog/p/8079773.html

java线程死锁_Java线程死锁–案例研究

java线程死锁本文将描述从在IBM JVM 1.6上运行的Weblogic 11g生产系统中观察到的最新Java死锁问题的完整根本原因分析。 此案例研究还将证明掌握线程转储分析技能的重要性; 包括用于IBM JVM Thread Dump格式。 环境规格 – Java EE服务器:Oracle Weblo…

linux下安装pm2

提前安装node linux下安装pm2 全局安装 npm install pm2 -g安装完成后可以查看pm2的所在目录 创建软连接----根据上面的安装目录创建 ln -s /home/node/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin/查看进程 pm2 list安装成功!!&#xff…

主机关机后第二天就无法开机_工控机几种常见的在开机或关机后不能正常使用的故障处理方法汇总...

工控机开机启动时我们经常会碰到各种不能正常使用的问题,下面我们把这类故障现象及处理方法在这里给大家汇总分析一下,希望你在碰到类似的问题时,能给你们提供一定的帮助!故障现象一:工控机在开机过程中出现死机故障.故…