selinux对ftp的影响

1.啥是selinux
安全增强型Linux(Security-Enhanced Linux)简称selinux,它是一个Linux内核模块,也是Linux的一个安全子系统。
selinux的状态:
Enforcing:强制模式,在selinux运作时,已经开始限制domain/type
permissive:警告模式,在selinux运作时,会有警告信息,但不会限制domain/type的存取
disabled:关闭模式
使用getenforce命令查看当前模式
更改selinux的状态命令:

             setenforce 1		##更改selinux的状态为Enforcingsetenforce 0		##更改selinux的状态为Permissive

注 : 当selinux关闭时,该命令无法使用
使用该命令只能切换开启时的两种状态,即Enforcing和Permissive
使用该命令切换selinux状态时,不需要重启电脑

selinux对文件的作用
当开启selinux后,selinux会给每个文件加载标签context,安全上下文必须配对,否则文件不能访问
开启selinux为Enforcing强制模式
在根目录下创建一个目录在此目录中新建一个文件,并且移动到ftp中的pub目录
在这里插入图片描述
用户登陆ftp查看文件
在这里插入图片描述
可以发现移动的文件看不到
使用ls -Z /var/ftp/命令查看该文件的安全上下文
在这里插入图片描述
临时更改安全上下文
chcon -t public_content_t /westos/ -R 临时更改安全上下文
在这里插入图片描述
在这里插入图片描述

chcon只是对安全上下文的临时修改,当系统selinux重启后,修改会失效

semanage  fcontext  -l | grep  /westos       查看该文件是否有默认的安全上下文
semanage  fcontext -a -t public_content_t  '/westos(/.*)?'  永久更改目录安全上下文
restorecon  -FvvR   /westos/         同步该目录的安全上下文

在这里插入图片描述
在这里插入图片描述

.本地用户上传权限的开启
getsebool -a | grep ftp 查看seLinux对ftp开关状态
在这里插入图片描述
setsebool -P ftp_home_dir on 允许本地用户上传文件 -P为永久开启
chmod 775 /home/*
chgrp ftp /home/*
登陆ftp,本地用户可以上传文件
在这里插入图片描述

匿名用户上传权限的开启
vim /etc/vsftpd/vsftpd.conf 在配置文件中打开匿名用户上传参数
在这里插入图片描述
写好之后重启服务
systemctl restart vsftpd

setsebool  -P  ftpd_anon_write  on    ##打开selinux匿名用户上传开关
semanage  fcontext -a -t public_content_rw_t   /var/ftp/pub   ##安全上下文加入可写的权限说明
restorecon -FvvR  /var/ftp/pub/     ##同步该目录的安全上下文
chmod  775  /var/ftp/pub
chgrp  ftp  /var/ftp/pub

在这里插入图片描述

测试一下:
在这里插入图片描述

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

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

相关文章

ES6的class方法基本用法

为什么80%的码农都做不了架构师?>>> 在ES5中我们通常通过构造函数,定义并生成新对象。 例如: function Point(name,age){this.namename;this.ageage;}Point.prototype{Who:function(){return "My name is "this.name",My age…

celery的中文_celery异步任务框架

目录Celery一、官方二、Celery异步任务框架Celery架构图消息中间件任务执行单元任务结果存储三、使用场景四、Celery的安装配置五、两种celery任务结构:提倡用包管理,结构更清晰七、Celery执行异步任务包架构封装八、基本使用celery.py 基本配置tasks.py…

关于linux mv指令机制

最近在mv文件的时候,操作失误将生产服务器一个1TB的文件夹mv到了/opt/test目录,因为最后/opt/目录被沾满所以1TB的文件夹没有迁移过来,写入了30GB数据到了/opt/test目录,因为系统分区被沾满,所以把test目录给删除了。 …

数据库的管理

1. 数据库的简介 定义:数据库(Database)就是一种按数据结构来组织,存储和管理数据的仓库,其中包含数据挖掘,大数据信息的推送。 mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护&…

C#中的Dictionary字典类介绍(转载)

C#中的Dictionary字典类介绍 关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html 说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都…

求阶乘的第一个非零数字_查找数字阶乘中的尾随零

求阶乘的第一个非零数字Problem statement: 问题陈述: Find the number of trailing zeros in n! (Where, n is the given input). 在n中找到尾随零的数目! (其中, n是给定的输入)。 Solution: 解: Computing a factorial is o…

高速缓存dns

1. DNS: Domain Name System,域名系统。 万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。他主要负责把域名和IP的相互转换,DNS运行与TCP|UDP的53端口上。 2. 高速缓存DNS:DNS服务…

python log日志级别_python – 日志记录:如何为处理程序设置最大日志级别

您可以向文件处理程序添加过滤器.这样,您可以将特定级别重定向到不同的文件.import loggingclass LevelFilter(logging.Filter):def __init__(self, low, high):self._low lowself._high highlogging.Filter.__init__(self)def filter(self, record):if self._low < recor…

Python Pandas –合并,联接和串联

There are three main ways to combine dataFrames i.e., merging, joining and concatenating. The following examples will illustrate merging, joining and concatenation. 组合dataFrames的主要方法有三种&#xff0c;即合并&#xff0c;联接和串联 。 以下示例将说明合并…

Apache服务配置

1. apache 企业中常用的web服务。用来提供http&#xff1a;//&#xff08;超文本传输协议&#xff09; 基础信息&#xff1a; 主配置目录&#xff1a; /etc/httpd/conf 主配置文件&#xff1a; /etc/httpd/conf/httpd.conf 子配置目录&#xff1a; /etc/httpd/conf.d/ 子配置文…

git 怎么查看合并过来哪些代码_git整理纷乱的历史合并记录

https://github.com/Epix37/Hearthstone-Deck-Tracker以上面版本库的master分支为例父节点1SHA-1: a21142968282ae49720cf30a0f18290b2ce74b3a* remove hotkey from config if action could not be found, fix hotkey menu item name父节点2SHA-1: 86a824e8f46005db91f334dfc57…

如何安装Genymotion虚拟机以及Genmotion的eclipse插件

---内容开始--- - 首先去genymotion的官网去下载其安装文件 资源下载 Genymotion官网必须注册一个账号这个账号安装之后还有用的&#xff0c;用户名最好用网易126邮箱注册----我下载的是2.8.0的版本(注&#xff1a;注册前先开个代理服务器不然页面打不开下载时最好用迅雷下载这…

java system类_Java System类mapLibraryName()方法及示例

java system类系统类mapLibraryName()方法 (System class mapLibraryName() method) mapLibraryName() method is available in java.lang package. mapLibraryName()方法在java.lang包中可用。 mapLibraryName() method is used to map a given library name into a platform-…

squid服务配置(正向、反向代理)

代理&#xff1a; 就是代理网络用户去取得网络信息。 Squid是一种用来缓冲Internet数据的软件。安装Squid服务实现代理缓存服务器功能。 正向代理&#xff1a;意思是一个位于客户端和原始服务器之间的服务器&#xff0c;为了从原始服务器取得内容&#xff0c;客户端向代理发送一…

家谱整站源码php_mysql家谱表查询某人所有后代

CREATE TABLE people (id INT(11) NOT NULL,name VARCHAR(50) NULL DEFAULT NULL,pid INT(11) NOT NULL DEFAULT 0,PRIMARY KEY (id));CREATE DEFINERroot% PROCEDURE getChildren(IN parentId INT)LANGUAGE SQLNOT DETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT 获取…

React 入门学习笔记2

摘自阮一峰&#xff1a;React入门实例教程&#xff0c;转载请注明出处。 一、获取真实的DOM节点 组件并不是真实的 DOM 节点&#xff0c;而是存在于内存之中的一种数据结构&#xff0c;叫做虚拟 DOM &#xff08;virtual DOM&#xff09;。只有当它插入文档以后&#xff0c;才会…

c语言getchar函数_C语言中带有示例的getchar()函数

c语言getchar函数C语言中的getchar()函数 (getchar() function in C) The getchar() function is defined in the <stdio.h> header file. getchar()函数在<stdio.h>头文件中定义。 Prototype: 原型&#xff1a; int getchar(void);Parameters: FILE *filename(f…

python及pycharm

1.python简介&#xff1a; Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言&#xff0c;最初被设计用于编写自动化脚本(shell)&#xff0c;随着版本的不断更新和语言新功能的添加&#xff0c;越来越多被用于独立的、大型项目的开发。 python最重要的功能&am…

anaconda如何更改环境配置_手把手教新手安装Anaconda配置开发环境

Anaconda是针对Python的集成环境&#xff0c;它已经成为全球数千万数据科学从业人员必备的开发工具&#xff0c;帮助人们有效地解决数据科学和机器学习相关地问题。如果你想从事数据科学和机器学习的工作&#xff0c;可以从本文开始&#xff0c;了解一下如何安装Anaconda。1. 初…

详解摘要认证

1. 什么是摘要认证摘要认证与基础认证的工作原理很相似&#xff0c;用户先发出一个没有认证证书的请求&#xff0c;Web服务器回复一个带有WWW-Authenticate头的响应&#xff0c;指明访问所请求的资源需要证书。但是和基础认证发送以Base 64编码的用户名和密码不同&#xff0c;在…