[013]操作系统原理系列
操作系统原理
Zero Ice
编辑&代码艺术
展开
-
[013]操作系统原理系列 | SELINUX
一、概念安全增强型Linux(Security-Enhanced Linux)简称SELinux,他是一个Linux内核模块,也是Linux的一个安全子系统 SELinux主要作用:最大限度的减少系统中的服务进程可以访问的资源(最小权限原则)二、功能&命令功能 命令 检查状态 getenforce 检查状态 /usr/sbin/sestatus -v 临时关闭 setenforce 0 永久关闭 /etc/selinux/con..原创 2020-10-25 08:06:00 · 95 阅读 · 0 评论 -
[013]操作系统原理系列 | 树莓派Docker Mongodb
一、拉取容器docker pull andresvidal/rpi3-mongodb3二、创建映射文件夹mkdir -p /data/db/mongo三、启动容器docker run -d --name rpi-mongodb3 -v /data/db/mongo:/data.db -p 27017:27017 andresvidal/rpi3-mongodb3 mongod原创 2020-10-11 22:02:10 · 98 阅读 · 0 评论 -
[013]操作系统系列 | 树莓派更换镜像源
一、修改软件更新源sudo nano /etc/apt/sources.list用http://mirrors.ustc.edu.cn/raspbian/raspbian/替换掉原本的http://raspbian.raspberrypi.org/raspbian/二、修改系统更新源sudo nano /etc/apt/sources.list.d/raspi.list和上面一样!通过http://mirrors.ustc.edu.cn/raspbian/raspbia...原创 2020-10-10 23:00:16 · 282 阅读 · 0 评论 -
[013]操作系统原理系列 | mongodb-exporter属性
Usage of /mongodb_exporter: -alsologtostderr log to standard error as well as files -groups.enabled string Comma-separated list of groups to use, for more info see: docs.mongodb.org/manual/reference/command/serverStatus/ (default "asserts,du.原创 2020-10-01 08:39:19 · 836 阅读 · 1 评论 -
[013]操作系统原理系列 | prometheus监控docker&linux等状态
备注:此Blog仅仅为了个人记录命令而建!!!一、监控系统Prometheusprometheus.yml:global: # How frequently to scrape targets by default. scrape_interval: 15s # How frequently to evaluate rules. evaluation_interval: 15s# Rule files specifies a list of globs. Ru.原创 2020-09-29 21:40:00 · 373 阅读 · 0 评论 -
[008]C/C++系列 | 最小的程序 不一样的HelloWorld!!!
一、需求 日常的HelloWorld打印,需要用到C语言库里面的函数(printf),我们希望“小程序”脱离C语言库,使它成为一个独立于任何库的纯正“程序” 日常使用的程序,都是以main作为入口,现在我们自定义一个入口(nomain) 日常的HelloWorld会产生很多段,现在我们需要将所有的段合并到"tinytext"段 二、实现2.1GCC内嵌汇编int write(int filedesc, char* buffer, int size);函数实现..原创 2020-09-16 15:05:07 · 358 阅读 · 0 评论 -
[013]操作系统原理系列 | Shell while read line无法读取最后一行问题
一、问题备注:利用while read line读取文件时:如果文件最后一行之后没有换行符\n,则read读取最后一行时遇到文件结束符EOF,循环即终止。从而导致最后一行无法读取!!!二、解决办法while read line || [[ -n ${line} ]]当遇到文件结束(最后一行)时,可以通过测试$line是否有内容来进行继续处理!!!...原创 2020-08-21 21:31:35 · 1045 阅读 · 0 评论 -
[013]操作系统原理系列 | 将数据从宿主机挂载到容器三种方式(三) Bind Mount
一、与Volumes区别 Volumes=>Docker容器里文件共享到宿主机 BindMount=>宿主机里文件共享到Docker容器 二、注意事项由于这个与Volumes类似,所以在此之前请先阅读《[013]操作系统原理系列 | 将数据从宿主机挂载到容器三种方式(二) Volumes》注意:为什么在/usr/share/nginx/html/默认生成的文件没有了?如果挂载目标在容器中非空目录,则该目录现有内容会被隐藏!!!三、清理..原创 2020-07-24 12:36:21 · 206 阅读 · 0 评论 -
[013]操作系统原理系列 | 将数据从宿主机挂载到容器三种方式(二) Volumes
一、创建数据卷# 创建数据卷$ docker volume create nginx_vol# 查看本地数据卷$ docker volume ls# 查看本地数据卷信息$ docker volume inspect nginx_vol挂载点:数据实际存储地方,即使删除容器,数据依然存在!!!二、用卷创建容器2.1查看nginx站点# 创建一个nginx容器$ docker run -d nginx# 查看容器(xxx ID)$ docker exec..原创 2020-07-24 12:19:51 · 244 阅读 · 0 评论 -
[013]操作系统原理系列 | 将数据从宿主机挂载到容器三种方式(一) 简要说明
一、简述Volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)=>最佳方式!!! Bind mount:将宿主机上的任意位置的文件或者目录挂载到容器中 Tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统。假如不希望将数据持久化存储在任何位置,可以使用这个挂载方式!!!同时避免写入容器可写层提高性能二、特点2.1Volumes特点多个运行容器之间共享数据 当容器停止或移除时,该卷依然存在 多个容器可以同..原创 2020-07-24 11:23:54 · 350 阅读 · 0 评论 -
[013]操作系统原理系列 | VIM插件 NERDTree分屏
一、安装&配置# 下载插件$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim# 修改配置$ vim ~/.vimrc# 添加下列配置set nocompatiblefiletype offmap <C-n> :NERDTreeToggle<CR>set rtp+=~/.vim/bundle/Vundle.vimcall vundle#be.原创 2020-07-24 10:09:42 · 572 阅读 · 0 评论 -
[013]操作系统原理系列 | ifconfig xxx down/up & ifdown xxx/ifup xxx 区别
一、区别ifup 与 ifdown脚本是以 /etc/sysconfig/network-scripts/ifcfg-xxx文件来进行激活的!它会直接在/etc/sysconfig/network-scripts目录下搜索对应的配置文件(ifcfg-xxx),修改文件里面的参数二、实例2.1 ifconfig xxx down/up# 查看网卡ens33信息$ ifconfig ens33# 修改网卡信息$ ifconfig ens33 1.1.1.1 netmask ...原创 2020-07-23 19:17:38 · 1878 阅读 · 0 评论 -
[013]操作系统原理系列 | Docker四种网络模式(四) 自定义网络
一、自定义网络创建# 创建一个名为busy_test的网络docker network create busy_test二、两个容器间通信我们首先创建两个容器:$ docker run -it --name busy7 busybox$ docker run -it --name busy9 busybox两者之前直接进行通信,发现不可以!!!通过新建的网络进行两个容器通信:$ docker run -it --name bs3 --net busy原创 2020-07-23 11:07:11 · 119 阅读 · 0 评论 -
[013]操作系统原理系列 | Docker四种网络模式(三) CONTAINER
一、container网络配置在此之前请看《[013]操作系统原理系列 | Docker四种网络模式(一) BRIDGE》因为有些命令不在进行说明!!!命令:--net=container:Name/ID例子:# docker创建一个名为busy5的容器(-p 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过此参数 指定端口映射)$ docker run -itd --name busy5 -p 99:80 busybox# docker创建一个名为busy5的容器原创 2020-07-23 10:36:13 · 135 阅读 · 0 评论 -
[013]操作系统原理系列 | Docker四种网络模式(二) HOST
一、host网络配置在此之前请看《[013]操作系统原理系列 | Docker四种网络模式(一) BRIDGE》因为有些命令不在进行说明!!!在此之前,我们先看一下主机网卡信息:创建一个网络配置为host的容器$ docker run -itd --name=xxx --net=host busybox$ docker exec -it xxx /bin/sh$ ifconfig二、描述容器不会获得一个独立的Networknamespace,因为host网络配置.原创 2020-07-23 10:11:04 · 165 阅读 · 0 评论 -
[013]操作系统原理系列 | Docker四种网络模式(一) BRIDGE
一、bridge网络配置命令:--net=bridge例如:# 拉取镜像(这里以busybox为例)$ docker pull busybox# 通过镜像创建一个名为bus1的容器(run后面加上-d参数,则会创建一个守护式容器在后台运行)$ docker run -itd --name=xxx --net=host busybox# 进入容器(注意为什么不是/bin/bash)$ docker exec -it xxx /bin/sh# 查看网络配置$ ifcon原创 2020-07-23 10:02:15 · 156 阅读 · 0 评论 -
[013]操作系统原理系列 | Docker容器&镜像
镜像&容器区别:容器其实就是镜像上面的一层读写层!!!在运行容器里面改动的时候,会从镜像里面要写的文件拷贝到容器自己的文件系统中 容器删除=>改动丢失 多个容器共享一个镜像(提高磁盘利用率) 如果需要持久化改动,可以通过docker commit将容器保存成为一个新镜像...原创 2020-07-22 18:54:03 · 269 阅读 · 0 评论 -
[013]操作系统原理系列 | Centos7 Docker安装 & Docker 基本命令
$ systemctl stop firewalld$ systemctl disable firewalld$ vim /etc/selinux/condif # 修改SELINUX=disable$ sudo yum install -y yum-utils$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo$ yum instal.原创 2020-07-22 11:21:47 · 121 阅读 · 0 评论 -
[013]操作系统原理系列 | 配置全局网络
一、配置文件位置vim /etc/sysconfig/network二、配置信息NETWORK=yes/no # 网络是否被配置; FORWARD_IPV4=yes/no # 是否开启IP转发功能 HOSTNAME=hostname # hostname表示服务器的主机名 GAREWAY=gw-ip # gw-ip表示网络网关的IP地址 GAREWAYDEV=gw-dev # gw-dw表示网关的设备名,如.原创 2020-07-22 04:50:52 · 311 阅读 · 0 评论 -
[013操作系统原理系列] | 网卡信息
一、查看命令# xxx为相应的网卡名字ifconfig xxx 二、信息描述ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 # 从flags可知该接口已启用,支持广播、组播,mtu值 inet 192.168.172.128 netmask 255.255.255.0 broadcast 192.168.172.255 # IPv4原创 2020-07-22 04:39:45 · 342 阅读 · 0 评论 -
[013操作系统原理系列] | yum配置解析
# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the clie...原创 2020-05-03 17:12:42 · 141 阅读 · 0 评论 -
[013操作系统原理系列] | ARP请求 & 响应 帧字段解析
一、ARP请求二、ARP响应原创 2020-05-24 20:15:54 · 641 阅读 · 0 评论 -
[013操作系统原理系列] | MAKE安装到指定目录
这里我以Redis为例子:将Redis安装到/usr/local/redis目录下:make PREFIX=/usr/local/redis install注意:上面需要cd到redis指定目录下原创 2020-05-24 05:56:52 · 458 阅读 · 0 评论 -
[013操作系统原理系列] | Centos7 GCC安装
GCC安装很容易,首先要确保root登录,其次是Linux需要能连接外网yum -y gcc automake autoconf libtool make注意:解决:运行yum时出现/var/run/yum.pid被锁定,PID为XXXX的另外一个程序正在执行的问题rm -f /var/run/yum.pid...原创 2020-05-24 05:36:11 · 162 阅读 · 0 评论 -
[013操作系统原理系列] | SELinux关闭的两种方法
背景SELinux是Security-Enhanced Linux的简称,一种内核强制访问控制(MAC)安全系统,目前SELinux已经集成到了Linux2.6内核的主线和大多数Linux发行版上。这里不做多介绍,下面直接进入正题:SELinux有三种状态:Enforcing:执行SELinux安全策略 Permissive:提示Warning而不强制执行 Disabled:停止SELinux方法一# 只能设置0 | 1setenforce 0方法二修改/..原创 2020-05-13 22:44:18 · 406 阅读 · 0 评论 -
[013操作系统原理系列] | 限制Shell记录历史条数
背景默认情况下会在$HOME/.bash_history文件下存放最近使用的1000条(系统不同,条数不同)指令记录。这当然会引起很不安全,那么怎样去修改呢?方法:编辑/etc/profile文件,修改HISTSIZE的值vim /etc/profile注意:改完之后需要运行一下命令才可生效噢:source /etc/profile备注:这个会影响到上下键查看历史记录的,假如设置为0.那么上下键将不可查看历史记录。...原创 2020-05-13 22:06:30 · 185 阅读 · 0 评论 -
[013操作系统原理系列] | 禁止系统响应外部/内部ping请求
背景由于可以通过ping命令检测此主机或者IP是否处于活跃状态。攻击者可以检测其是否处于活跃状态从而对其进行攻击。假如可以禁止ping请求,那么大大增强服务器安全性。那具体怎样操作呢?如下:echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all默认情况下"icmp_echo_ignore"的值为0,表示启用ping响应。注意:每次重启之后这个值又会变成了0,所以可以通过添加上面命令到/etc/rc.d/rc.local文件中,以原创 2020-05-13 21:50:43 · 904 阅读 · 0 评论 -
[013操作系统原理系列] | Samba服务器配置
目录一、What'sSamba二、Samba安装三、案例描述四、Samba服务组成五、配置smb.conf六、建立共享文件七、启动Samba服务八、测试搭建是否成功8.1Windows下访问8.2修改测试8.3删除测试九、常见错误9.1不可访问后面我会继续写关于Samba服务器更复杂配置的文章,请多多关照喔♥!!!一、What'sSambaSamba是一个让Linux系统应用Microsoft网络通信的协议软件。应用SMB(Serv...原创 2020-05-11 10:32:27 · 383 阅读 · 0 评论 -
[013操作系统原理系列] DNS服务器搭建实战
目录一、整体概括二、配置好相应的个人电脑&服务器三、检查安装情况四、配置named.conf五、区域配置文件六、修改权限七、启动服务八、测试8.1测试IP是否成功8.2测试DNS是否成功一、整体概括此图来源于B站《架设DNS服务器》二、配置好相应的个人电脑&服务器个人电脑:192.168.172.136(Master)记得重启:service network restartDNS服务器:192.168.172...原创 2020-05-10 16:26:23 · 484 阅读 · 0 评论 -
[013操作系统原理系列] | DNS服务基础(三) 配置文件语法检查
named-checkconf工具named-checkconf [-z] [主配置文件]# -z 尝试加载主配置文件中对应的区域数据库文件named-checkzone工具named-checkzone <域名> <区域数据文件>原创 2020-05-10 11:27:17 · 695 阅读 · 0 评论 -
[013操作系统原理系列] | UUID生成
cat /proc/sys/kernel/random/uuid原创 2020-05-06 15:49:54 · 190 阅读 · 0 评论 -
[013操作系统原理系列] | Linux下IP别名
Linux的网络设备配置文件在/etc/sysconfig/network-scripts目录中名称为ifcfg-xxx。现在我们为此网卡虚拟出来一个接口(即:IP别名)例如:我这里:ens33新建一个文件:ifcfg-ens33:0vim /etc/sysconfig/network-scripts/ifcfg-ens33:0添加以下内容:DEVICE="ens3...原创 2020-05-06 16:07:10 · 246 阅读 · 0 评论 -
[013操作系统原理系列] | 直接通过ifconfig虚拟网络接口
ifconfig ens33:1 192.168.172.135 netmask 255.255.255.0其他办法请看:《配置 | Linux下IP别名》检查结果:原创 2020-05-06 16:11:59 · 216 阅读 · 0 评论 -
[013操作系统原理系列] | DNS服务基础(二) Bind配置文件
//// named.conf//// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS// server as a caching only nameserver (as a localhost DNS resolver only).//// See /usr/share/doc/bind*/sample/ for example named configuration files.//// S.原创 2020-05-10 05:29:53 · 620 阅读 · 0 评论 -
[013操作系统原理系列] | DNS服务基础(一)
一、DNS系统作用正向解析:根据主机名称(域名)查找相应的IP地址 反向解析:根据IP地址查找对应的主机域名二、DNS系统分布式数据结构作用:加速解析三、常见类型缓存域名服务器=>高速缓存服务器。通过其他域名服务器查询获取IP,将其缓存到本地,提高重复查询的速度 主域名服务器=>具有唯一性。负责维护该区域所有域名(IP地址映射) 从域名服务器=>辅助域名服务器。注意:主从域名服务器的区别:从域名服务器的所有内容都是从主域名服务器更新而来。例子..原创 2020-05-10 11:15:28 · 209 阅读 · 0 评论 -
[016]操作系统原理系列 | 整数(无符号加法&补码加法)
1、公式1.1无符号加法对于满足 ,的整数x和y有: 1.2补码加法对于满足的整数 x和y有: 2、例子2.1无符号 11 ...原创 2020-02-16 23:56:05 · 683 阅读 · 0 评论