wengfy

Linux的基础操作(2)

一、rpm/yum 软件包管理器

1、rpm的用法

-i  ->   安装某个package   dependencies (依赖包)
-e  ->   卸载(删除)某个package
-v  ->   显示整个安装过程中的详细信息
-h  ->   以#号显示安装进度
-q  ->   查询
-f  ->   文件名
-l  ->   罗列文件

常见用法

root@localhost ~]#rpm  -aq   httpd    查询服务所要用到的rpm包
root@localhost ~]#rpm  -ql    httpd   查询服务所涉及到的所有文件,包括数据文件和配置文件

2、本地yum的配置 (配本地yum仓库)

1、红帽8以前

(1)连接系统镜像到光驱上 并挂载光驱里的镜像

root@localhost ~]# mount /dev/cdrom /media
root@localhost ~]#cd  /media  ->  ls        查看光盘是否挂载成功(或 df -Th查看进程)

(2)修改yum源配置文件local.repo 文件后缀为.repo,文件名可自定义
local.repo 是自己创的
在/etc/yum.repos.d/里有个redhat.repo是收费的

[root@localhost ~]# vim /etc/yum.repos.d/local.repo
	[rhel]            
	name=rhel       这与[]里一致
	baseurl=file:///media          file是本地目录
	enabled=1	    代表开启此yum仓库,0为关闭此仓库
	gpgcheck=0	    代表验证仓库软件包的完整性(安全性),0为不验证

(3)清空yum源缓存信息:

[root@localhost ~]# yum clean all
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: rhel
Cleaning up everything
[root@localhost ~]# 

(4)检索当前yum源信息:

[root@localhost ~]# yum repolist 
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel                                                     | 4.1 kB     00:00     
(1/2): rhel/group_gz                                       | 136 kB   00:00     
(2/2): rhel/primary_db                                     | 3.9 MB   00:00     
repo id                               repo name                           status
rhel                                  rhel                                4,751
repolist: 4,751
[root@localhost ~]# 

2、红帽8之后

第一步一致

(2)修改yum源配置文件local.repo 文件后缀为.repo,文件名可自定义
local.repo 是自己创的
在/etc/yum.repos.d/里有个redhat.repo是收费的

[root@localhost ~]# vim /etc/yum.repos.d/local.repo
	[BaseOs]            
	name=BaseOs     
	baseurl=file:///media/cdrom/BaseOs          
	enabled=1	    代表开启此yum仓库,0为关闭此仓库
	gpgcheck=0	    代表验证仓库软件包的完整性(安全性),0为不验证
	[AppStream]            
	name=AppStream    
	baseurl=file:///media/cdrom/AppStream    
	enabled=1	    代表开启此yum仓库,0为关闭此仓库
	gpgcheck=0	    代表验证仓库软件包的完整性(安全性),0为不验证

后两步一致

3、yum命令总结:

[root@localhost ~]# yum clean all				清空yum缓存
[root@localhost ~]# yum repolist				列表查看本操作系统所有的yum源
[root@localhost ~]# yum list	        		显示已安装和可用的软件包
[root@localhost ~]# yum provides + 路径(命令)	查询某个文件安装的rpm包
[root@localhost ~]# yum -y install + 软件名		安装某个软件
[root@localhost ~]# yum -y remove + 软件名		卸载某个软件
[root@localhost ~]# yum -y update + 软件名		更新某个软件
[root@localhost ~]# yum info					提供与软件包相关的详细信息,包括安装所需的磁盘空间
yum -y upgrade				升级系统内核

二、网络配置与管理

1、网络命令

在Linux里

ifconfig  <=> ip addr show(ip a)   查看本地所有网卡配置信息
ens32:代表本地以太网网卡  lo:代表本地回环网卡  virbr0:代表虚拟网卡

ping       测试网络连通性(使用ctrl+c来结束测试) 用-c  指定次数

ip route   查看本地路由

netstat    查看网络连接状态    -pant 查看带有PID进程信息的tcp协议网络端口连接状态

在Windows里

只有ipconfig    查看本地所有网卡配置信息

ping 命令——测试网络连通性(使用ctrl+c来结束测试) 用-n  指定次数

netstat    查看网络连接状态 

2、配置文件修改

连接虚拟网卡
编辑 ——> 虚拟网络编辑器 修改网段
虚拟机 ——> 设置 网络适配器 自定义

进配置文件稍作修改

[root@localhost ~]#  vim /etc/sysconfig/network-scripts/ifcfg-ens32 
TYPE=Ethernet	网卡类型是以太网
BOOTPROTO=none	ip地址获取方式有三种:dhcp动态获取ip,none或static手动设置固定ip地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32				网卡连接名
UUID=2c22b930-96b9-4ef4-abfb-ff9fbc85ff23	网卡的系统设备ID号,唯一性
DEVICE=ens32			设备名
ONBOOT=yes				是否开机自启
IPADDR=192.168.100.20	IPv4地址
PREFIX=24				NETMASK=255.255.255.0
GATEWAY=192.168.100.1	网关
DNS1=192.168.100.254	DNS地址,一张网卡可以绑定多个DNS
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

重启网络

红帽8以前
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ip a  查看

红帽8之后
[root@localhost ~]nmcli connection reload 
[root@localhost ~]nmcli connection up eth0

3、nmcli 命令配置

[root@localhost ~]# nmcli connection show     		查看所有网卡连接信息
[root@localhost ~]# nmcli connection delete ens32   删除已有的网卡连接名ens32  配置文件也被删,但原来即网卡设备还在
[root@localhost ~]# nmcli connection add con-name eth0 ifname ens32 type ethernet autoconnect yes    给网卡ens32添加一个新的网卡连接,并将该网卡连接设置为:以太网类型、开机自启
[root@localhost ~]# nmcli connection modify eth0  ipv4.method  man  ipv4.addresses  192.168.100.20/24   ipv4.gateway 192.168.100.2   ipv4.dns   119.29.29.29   ->  将网卡连接eth0修改为:手动添加一个IPv4地址,地址是192.168.100.20,24位子网掩码,网关地址192.168.100.2,对应的dns服务器地址是119.29.29.29
[root@localhost ~]# nmcli connection up eth0     	开启网卡连接eth0      注:如果网卡连接起不来,可以先关闭该连接,命令为nmcli connection down eth0,然后再开启该连接
[root@localhost ~]# nmcli connection reload   	 	重新加载所有的网卡连接配置
[root@localhost ~]# systemctl restart network  	 	重启系统的网络服务
[root@localhost ~]# ifconfig  					 	检查一下网络是否配置好了
[root@localhost ~]# ping 192.168.100.20  			测试新配置好的本地网络是否ping得通

三、SElinux Linux安全访问策略

是Linux操作系统的一个额外的强制性的安全访问规则。用于确定哪个进程可以访问哪些文件、目录和端口的一组安全规则。
保护的对象是服务、服务对应的文件/目录、服务对应的端口

如果selinux开启,以root身份运行进程,访问文件不光要受用户对文件访问权限的限定
还要受进程对文件selinux上下文类型的限定,否则,就算是root用户运行的进程,也不一定能访问某个文件。

1、selinux 的三种模式(状态):

enforcing       强制模式                  拒绝非法访问并录入日志;
permissive      许可模式(警告模式)      暂时允许非法访问并录入日志
disabled        禁用模式                  允许非法访问且不录入日志。

2、selinux的模式切换

临时切换:
关闭虚拟机就还原

setenforce 0    临时关闭selinux      enforcing 转成 permissive

setenforce 1    临时开启selinux      permissive 转成 enforcing

永久切换:
关闭虚拟机不会还原,到配置文件修改

vim  /etc/selinux/config 

SELINUX=enforcing/permissive/disabled  ->  重启/reboot  后生效

3、查看selinux上下文类型

查看文件的上下文        		 ll  -Z  


查看进程的上下文        		 ps  -auxZ 
例:
ps  -auxZ | grep sshd

查看所有端口的上下文     		 semamage  port -l | grep 端口号   
例:
semanage  port  -l | grep  22

查看当前启动的端口的上下文       netstat  -pantZ

4、修改selinux上下文类型

如果提示找不到 semanage 这个命令
用yum provides 检索安装包后下载


semanage  fcontext  -a -t  上下文类型  ‘/filename(/.*)?’           这里的filename要写绝对路径
restorecon  -RFv  /filename                                        强制递归刷新上下文类型并显示刷新过程

例:
semanage  fcontext  -a  -t  httpd_sys_content_t  \'/opt/test(/.*)?\' 
restorecon  -RFv  /opt/test/

文件会默认继承父文件夹的selinux类型
(在修改过上下文类型的文件夹里创建文件,文件的上下文类型跟文件夹一致)

5、给端口添加selinux上下文类型

semanage  port  -a -t  端口上下文类型  -p  tcp/udp  端口号

例:
semanage  port -a -t ssh_port_t -p tcp 22              

semanage  port -l|grep ssh(22)                          
                端口不用强刷

6、selinux布尔值

当selinux开启时,系统默认会设置很多服务功能的开关

sebool就是那个开关

查看布尔值    		getsebool  -a        
例:
getsebool -a |grep home         	查看home的布尔值

设置开启或关闭      setsebool  bool名  on/off
例:
setsebool ssh_sysadm_login on   	开启ssh_sysadm_login这个服务功能

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-05-05
  • 2021-09-15
  • 2021-05-08
  • 2021-04-29
  • 2021-06-25
  • 2022-01-01
猜你喜欢
  • 2021-12-25
  • 2022-01-20
  • 2021-11-07
  • 2021-06-14
  • 2021-11-14
  • 2021-06-22
相关资源
相似解决方案