Category Uncategorized

简介SELinux的在CentOS 7 – 第2部分:文件和进程

介绍 在第一部分我们SELinux的系列,我们看到了如何启用和禁用SELinux,如何改变一些使用布尔值的策略设置。 在第二部分中,我们将讨论文件和进程安全上下文。 从前面的教程刷新你的记忆,一个文件的安全上下文是一个类型 ,一个过程的安全上下文是一个域 。 注意 本教程中显示的命令,包和文件在CENTOS 7上进行了测试。其他发行版的概念保持不变。 在本教程中,除非另有说明,否则我们将以root用户身份运行命令。 如果您没有访问到root帐户,并使用使用sudo权限的其他帐户,您需要与先于命令sudo关键字。 创建测试用户帐户 首先,让我们创建四个用户帐户来演示SELinux的功能。 普通用户 切换用户 访客 restricteduser 目前应该是root用户。 让我们运行下面的命令来添加regularuser帐户: useradd -c “Regular User” regularuser 然后,我们运行passwd命令来修改自己的口令: passwd regularuser 输出将要求我们输入新密码。 一旦提供,该帐户将准备登录: Changing password for user regularuser. New password: Retype new password: passwd: all authentication tokens updated successfully. 让我们创建其他帐户:…

用 CentOS 7 打造合适的科研环境

这篇博文记录了我用 CentOS 7 搭建 地震学科研环境 的过程,供我个人在未来重装系统时参考。对于其他地震学科研人员,也许有借鉴意义。 阅读须知: 本文适用于个人电脑,不适用于服务器; 不推荐刚接触 Linux 的人使用 CentOS 发行版; 本文尽量写的浅显易懂,但要求读者掌握 Linux 基础知识; 本文所有操作均在 CentOS 7 下完成,其他发行版或多或少与 CentOS 7 不同,因而仅供参考; 本文所安装的软件纯粹出于个人习惯及喜好,读者应自己判断,按需安装; 安装 CentOS CentOS 7 的安装与其他 Linux 发行版的安装差不多,个别地方稍有不同。 准备工作 准备材料 U 盘:容量 2GB 以上,用于制作 U 盘启动盘,因为在制作启动盘时会格式化 U 盘,所以 U…

简介SELinux的在CentOS 7 – 第1部分:基本概念

介绍 安全增强型Linux或SELinux是大多数现代Linux发行版中内置的高级访问控制机制。 它最初由美国国家安全局开发,以保护计算机系统免受恶意入侵和篡改。 随着时间的推移,SELinux在公共领域发布,各种发行版已经将其纳入其代码中。 许多系统管理员发现SELinux是一个未知的领域。 这个话题看起来很艰巨,有时很混乱。 但是,正确配置的SELinux系统可以大大降低安全风险,了解其中的一点可以帮助您解决与访问相关的错误消息。 在本教程中,我们将了解SELinux背后的概念 – 包,命令和配置文件 – 以及拒绝访问时记录的错误消息。 我们还将看到一些将SELinux投入运行的实际情况。 注意 本教程中显示的命令,包和文件在CENTOS 7上测试。其他发行版的概念保持不变。 在本教程中,除非另有说明,否则我们将以root用户身份运行命令。 如果您没有访问到root帐户,并使用使用sudo权限的其他帐户,您需要与先于命令sudo关键字。 为什么选择SELinux? 在我们开始之前,让我们来了解一些概念。 SELinux的实现了所谓的MAC(强制访问控制)。 这是一个什么样的在每一个Linux发行版已经存在上实现时,DAC(自主访问控制)。 要理解DAC,让我们先考虑传统的Linux文件安全性如何工作。 在传统的安全模型中,我们有三个实体:用户,组和其他(u,g,o),它们可以对文件或目录具有读,写和执行(r,w,x)权限的组合。 如果用户创建郭沫若在他们的家目录中的文件,该用户将具有读它/写访问,并因此将祚群。 “其他”实体可能无法访问它。 在下面的代码块中,我们可以考虑jo的主目录的假设内容。 你并不需要设置这个祚用户-我们将在后面的教程很多用户来设置。 运行这样的命令: ls -l /home/jo/ 可以显示如下输出: total 4 -rwxrw-r–. 1 jo jo 41 Aug 6 22:45 myscript.sh 现在jo可以更改此访问权限。 jo可以向其他用户和组授予(并限制)此文件的访问权限或更改文件的所有者。这些操作可以将关键文件暴露给不需要此访问权限的帐户。 jo也可以限制为更安全,但这是自由的:系统管理员无法为系统中的每个文件强制执行它。 考虑另一种情况:当Linux进程运行时,它可以作为root用户或具有超级用户权限的其他帐户运行。 这意味着如果黑客黑客控制了应用程序,他们可以使用该应用程序访问用户帐户可访问的任何资源。 对于以root用户身份运行的进程,基本上这意味着Linux服务器中的一切。 想想一个场景,你想限制用户从他们的主目录执行shell脚本。 当您有开发人员在生产系统上工作时,可能会发生这种情况。 你希望他们查看日志文件,但你不希望他们使用su或sudo命令,你不希望他们能够从他们的主目录运行任何脚本。 你是怎样做的? SELinux是微调这种访问控制要求的一种方法。 使用SELinux,您可以定义用户或进程可以执行的操作。 它将每个进程限制在其自己的域中,因此进程只能与允许的域中的某些类型的文件和其他进程进行交互。 这可以防止黑客劫持任何进程以获得系统范围的访问。 设置测试系统 为了帮助我们了解这些概念,我们将构建一个运行Web和SFTP服务器的测试服务器。 我们将从安装最少软件包的CentOS 7的裸安装开始,并在该服务器上安装Apache和vsftp守护进程。 但是,我们不会配置任何这些应用程序。…

java war 打包、解压命令

java war 打包、解压命令 经常将工程打包成war包,打包如下: // 将当前目录打包成war包 jar   cvf   temp.war   */  . 命令格式: java cvf 打包文件名称 要打包的目录 打包文件保存路径   解压自然就是: jar xvf temp.war   jar和linux下面的tar命令类似

tomcat在ubuntu下启动缓慢,耗时很长时间

tomcat在ubuntu下启动缓慢,耗时很长时间,Creation of SecureRandom instance for session ID generation using [SHA1PRNG] 编辑时间:2017-02-10 浏览量:1059 将tomcat部署到ubuntu下启动时发现需要10几分钟才能启动完成,但是在windows下启动时只需几秒钟的时间,查看日志发现Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [342,445] milliseconds,此处耗费了很长的时间,上网查询解决,特此记录。 Tomcat 7启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2016-10-29 15:47:11] INFO ReadProperty:172 – Loading properties file from class path resource [resources]  Log4j:[2016-10-29 15:47:11] INFO ReadProperty:172 – Loading properties file from class path resource [resources]  29-Oct-2016 15:52:53.587 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [342,445] milliseconds. 原因 Tomcat 7产生安全随机类SecureRandom的实例作为会话ID,这里花去了342秒,也即接近6分钟。 SHA1PRNG算法是基于SHA-1算法实现且保密性较强的伪随机数生成器。 在SHA1PRNG中,有一个种子产生器,它根据配置执行各种操作。 1)如果Java.security.egd 属性或securerandom.source属性指定的是”file:/dev/random”或”file:/dev/urandom”,那么JVM 会使用本地种子产生器NativeSeedGenerator,它会调用super()方法,即调用 SeedGenerator.URLSeedGenerator(/dev/random)方法进行初始化。 2)如果java.security.egd属性或securerandom.source属性指定的是其它已存在的URL,那么会调用SeedGenerator.URLSeedGenerator(url)方法进行初始化。…

初识Docker--Linux Container容器管理

当前,完全硬件虚拟化技术(KVM、Xen、Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等。有时候对用户来说,完全的硬件虚拟化并不是最好的选择。 一种替代方案是使用轻量级虚拟化技术 —— 所谓的 LinuX Container 容器 (LXC),它提供的是系统级虚拟化。与跑虚拟机相比,LXC 可以在一个轻量级沙箱容器里面跑多个 Linux 操作系统。当你需要设置一些易于克隆的开发环境、测试环境,或想在安全沙盒里安装应用时,LXC 就非常有用了。 Docker 是一个开源工具,可以让用户方便地布署 Linux Container 容器。Docker 很快变成了 container 技术的非官方标准,从而被 Ubuntu 和 Red Hat等众多发行版吸收进去。 本教程中我会向你们演示如何在 Ubuntu 14.04 中使用 Docker 来管理 LXC。需要注意的是,本教程的一些内容可能会与其他 Ubuntu 版本下的操作会稍微有些出入。 当前Ubuntu 系统下的 Docker 的安装包只提供64位。如果你想运行32位的 Docker,你需要使用源码编译32位 Docker…

Docker小结(二)配置mysql数据库

一、Dockerfile # Dockerizing Mariadb: Dockerfile for building Mariadb images # FROM hub.c.163.com MAINTAINER yangbk <www.361way.com> ENV DATA_DIR /var/lib/mysql ENV http_proxy 10.212.186.250:3128 # Install Mariadb RUN yum install –y mariadb mariadb–server && \ yum clean all ADD mysqld_charset.cnf COPY scripts…

Docker小结(二)dockerfile

一、Dockerfile解析 Dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖等。其包含的参数有FROM、cmd、RUN、MAINTAINER、CMD、ENTRYPOINT、USER、EXPOSE、ENV、ADD、VOLUME、WORKDIR、ONBUILD等相关命令。我们先以一个dockerfile为例具体理解下: # cat Dockerfile FROM centos:centos7.1.1503 MAINTAINER yangbk <www.361way.com> ENV TZ “Asia/Shanghai” ENV TERM xterm ADD base.repo /etc/yum.repos.d/CentOS–Base.repo ADD aliyun–epel.repo RUN yum install –y curl wget tar bzip2 unzip vim–enhanced passwd sudo yum–utils hostname net–tools r sync man…

Docker小结(一)docker架构及常用命令

14年左右最早接触过docker,当时在ubuntu系统中只简单的运行过几个命令稍略测试过。在红帽RHCA中有DO280课程(红帽DIY 的 docker + k8s + etcd + haproxy组合产品),趁着学习DO280课程的机会 ,做下DOCKer内容的小结,本篇先从docker架构开始说起。 一、docker架构和常用命令 在开始之前,先简单的看下docker的架构图,如下: docker的常用命令如下: 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|export|port] 容器rootfs命令 — docker [commit|cp|diff] 镜像仓库 — docker [login|pull|push|search] 本地镜像管理 — docker [images|rmi|tag|build|history|save|import] 其他命令 — docker [info|version] 二、命令执行 1、images镜象 这里先从国内的163镜像源下载一个image镜像,查看并运行该镜像,使期产生一个容器:…

主流Linux发行版包管理对比速查表

使用 Linux 系统总是免不了要接触包管理工具。比如,Debian/Ubuntu 的 apt、openSUSE 的 zypp、Fedora 的 yum、Mandriva 的 urpmi、Slackware 的 slackpkg、Archlinux 的 pacman、Gentoo 的 emerge、Foresight 的 conary、Pardus 的 pisi,等等。DistroWatch 针对上述包管理器的主要用法进行了总结,对各位 Linux 用户来说具有很好的参考作用。这个总结还是有一点不足,有空给大家整理一个更全面的版本。 任务 apt Debian, Ubuntu zypp openSUSE yum Fedora, CentOS 安装包 apt-get install <pkg> zypper install <pkg>…