17. Gestión básica de Mysql y selinux en Linux

17. Gestión básica de Mysql en Linux

1. Mariadb en linux:
arquitectura de páginas web común: LAMP (linux, Apache, Mysql, perl / python) / LNMP (linux, nginx, Mysql, perl / php),
mariadb es una rama de mysql;

dnf install mariadb-server.x86_64 -y   #mariadb的安装;
mariadb.service				           ##服务名称;
3306					              ##默认端口号;
/etc/my.cnf.d/mariadb-server.cnf	  ##主配置文件;
/var/lib/mysql				          ##数据目录,当需要重新安装mariadb时需要清理此目录或备份;

2. Inicialización segura de mariadb:

2-1: De forma predeterminada, después de abrir mariadb, puede iniciar sesión directamente con el comando mysql; la
primera vez que usa mariadb, puede usar el comando mysql_secure_installation para una inicialización segura: (puede establecer una contraseña, etc .;)
Inserte la descripción de la imagen aquí
2-2: cerrar el puerto abierto de la base de datos:

vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-networking=1

systemctl restart mariadb   

netstat -antlupe  | grep mysql	#此命令查询不到端口,表示关闭成功

De forma predeterminada, el puerto remoto está abierto, existe un gran riesgo de seguridad, debe apagarlo:

Inserte la descripción de la imagen aquí

3. Gestión básica de la base de datos (incorporación, borrado, modificación e investigación):

1.查看
SHOW DATABASES;				##显示库名称
USE mysql;				    ##进入mysql库
SHOW TABLES;				##显示库中的所有表
SELECT * FROM user;			##查询user表中的所有数据
SELECT Host,User,Password FROM user;	##查询user表中的指定字段

2.新建
CREATE DATABASE westos;			      ##新建库
CREATE TABLE linux (
username varchar(6) not null,
password varchar(30) not null
);						             ##新建表
DESC linux;					         ##显示表结构
INSERT INTO linux VALUES ('user1','123'); 	#插入数据
FLUSH PRIVILEGES;				      #刷新数据库


3.更改
ALTER TABLE redhat RENAME linux;                      #表的重命名
ALTER TABLE linux ADD age varchar(4) AFTER password;  #更改表的结构,在password字段后添加age字段
ALTER TABLE linux DROP age;                           #删除表中的age字段
UPDATE linux SET sex='g' WHERE username='user2';      #更改linux表中,user2 的sex字段的值


4.删除
DELETE from linux where username='user2' and age='18';
DROP TABLE linux;
DROP DATABASE westos;

Como se muestra en la figura: cree una tabla llamada heihei e inserte la información correspondiente:
Inserte la descripción de la imagen aquí
4. Copia de seguridad de la base de datos:

mysqldump -uroot -p123 --all-database  >/mnt/westos.sql            #全部备份
mysqldump -uroot -p123 --all-database --no-data  >/mnt/westos.sql  #只备份表格,不备份数据

mysqldump -uroot -p123 westos  >/mnt/westos.sql                    #备份westos库
mysqldump -uroot -p123 westos > /mnt/westos.sql


恢复方式1:
mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql

恢复方式2:
vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;

mysql -uroot -p123  < /mnt/westos.sql

5. Gestión de contraseñas de datos:

5-1: Cambio de contraseña de la base de datos:

mysqladmin  -uroot -plee password westos
mysqladmin  -uroot -p password westos     输入原密码后更改;

5-2: Craqueo de contraseñas de bases de datos:

systemctl stop mariadb
mysqld_safe --skip-grant-tables &    #跳过授权表
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; #更改mysql.user表中的用户认证信息
flush privileges;
ps aux | grep mysql
kill -9 mysql的所有进程
systemctl start mariadb

6. Autorización de usuarios en la base de datos:

CREATE USER lee@localhost identified by 'lee';	##建立lee用户,只能用localhost登陆(本机使用)
CREATE USER lee@'%' identified by 'lee';		##建立lee用户,可以通过网络或localhost登陆
GRANT INSERT,SELECT ON westos.* TO lee@localhost; ##使lee用户在westos库中拥有insert,select权力
SHOW GRANTS for lee@localhost;                    ##查看lee用户的授权信息
REVOKE SELECT ON westos.* FROM lee@localhost;     ##收回lee用户在westos库中的select权限;
DROP user lee@localhost;                          ##删掉lee用户;

7. Formulario web de construcción de bases de datos (phpmyadmin):

dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewalld 
cp phpMyAdmin-3.4.0-all-languages.tar.gz  /var/www/html/
cd /var/www/html/
tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz
mv phpMyAdmin-3.4.0-all-languages/   mysqladmin
cd   mysqladmin
cp   config.sample.inc.php  config.inc.php
systemctl restart httpd

firefox http://192.168.0.12/mysqladmin

Gestión de firewall mejorada a nivel de kernel de Selinux:

1. El rol después de que selinux está activado
: el impacto en los archivos:
cuando selinux está activado, el kernel cargará
etiquetas para cada archivo y cada programa abierto El contexto de seguridad (contexto) del programa y el archivo se registra en la etiqueta ;

Impacto en las funciones del programa:
cuando selinux está activado, el interruptor de carga de funciones del programa se configurará y el estado de este interruptor se desactivará.
Cuando se necesite esta función, el interruptor de función debe
activarse manualmente. Este interruptor se llama sebool;

Si el sistema lee el archivo /.autorelabel al arrancar, selinux se reinicializará;

2.Estado y gestión de Selinux:

selinux的开启
vim /etc/selinux/config
 SELINUX=disabled	#selinux关闭
 SELINUX=enforcing	#selinux开机设定为强制状态此状态为selinux开启,强制状态不可继续访问
 SELINUX=permissive	#selinux开机设定为警告状态此状态为selinux开启,警告状态可以继续访问
"selinux开启或关闭需要重启系统"

enforcing:
不符合条件一定不能被允许,并会收到警告信息

permissive:
不符合条件被允许,并会收到警告信息

selinux状态的查看:
getenforce

selinux开启后强制和警告级别的转换
setenforce 0	##警告
setenforce 1	##强制

selinux日志位置:
/var/log/audit/audit.log

3. El contexto de seguridad de Selinux:

#临时修改
#此方式更改的安全上下文在selinux重启后会还原
chcon -t 	标签			文件|目录	
chcon -t 	public_content_t 	/var/ftp/westosfile1
chcon -Rt 	public_content_t	/westosdir	#修改目录及目录中的所有子文件的安全上下文

#永久修改安全上下文
#如果需要特殊指定安全上下文需要修改内核安全上下文列表
semanage fcontext -l 		##查看内核安全上下文列表 
semanage fcontext -a -t public_content_t  '/westosdir(/.*)?'   ##添加安全上下文,下次重启selinux后会更改,
restorecon -RvvF /westosdir/    ##显示/westos安全上下文的详细信息                               
touch  /.autorelabel		##重启系统时selinux初始化文件标签开关文件

Inserte la descripción de la imagen aquí
4.SEBOOL:

getsebool  -a 				##显示服务的bool值
setsebool  -P ftpd_anon_write on	##更改服务的bool值

Inserte la descripción de la imagen aquí

5. Restricciones de Selinux sobre puertos de servicio (modificación de puertos):

semanage port -l | grep ssh         ##查看服务允许使用的端口
semanage port -a -t ssh_port_t -p tcp  1111     ##添加端口
semanage port -a -t ssh_port_t -p tcp  1111     ##删除端口

netstat -antlupe | grep httpd    ##查看服务使用的端口

Inserte la descripción de la imagen aquí

Cuando selinux está activado, si el servicio desea completar con éxito la operación correspondiente, debe tener el contexto de seguridad correcto en el sistema de archivos y también debe activar el interruptor sebool correspondiente;

6. Servicio Setrouble:

/var/log/audit/audit.log	##selinux警告信息

/var/log/messages		##selinux问题解决方案

setroubleshoot-server	##此软件功能是采集警告信息并分析得到解决方案存放到message中,只提供解决方案,不考虑安全性  

Supongo que te gusta

Origin blog.csdn.net/lb1331/article/details/110390845
Recomendado
Clasificación