17. Gestion de base de Mysql et selinux sous Linux

17. Gestion de base de Mysql sous Linux

1. Mariadb sous linux:
architecture de page Web commune: LAMP (linux, Apache, Mysql, perl / python) / LNMP (linux, nginx, Mysql, perl / php),
mariadb est une branche 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. Initialisation sécurisée de mariadb:

2-1: Par défaut, après avoir ouvert mariadb, vous pouvez vous connecter directement avec la commande mysql; la
première fois que vous utilisez mariadb, vous pouvez utiliser la commande mysql_secure_installation pour une initialisation sécurisée: (vous pouvez définir un mot de passe, etc.)
Insérez la description de l'image ici
2-2: fermez le port d'ouverture de la base de données:

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

systemctl restart mariadb   

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

Par défaut, le port distant est ouvert, il y a un gros risque de sécurité, vous devez le désactiver:

Insérez la description de l'image ici

3. Gestion de base de la base de données (ajout, suppression, modification et investigation):

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;

Comme le montre la figure: créez une table nommée heihei et insérez les informations correspondantes:
Insérez la description de l'image ici
4. Sauvegarde de la base de données:

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. Gestion des mots de passe de données:

5-1: Modification du mot de passe de la base de données:

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

5-2: Cracking de mot de passe de base de données:

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. Autorisation des utilisateurs dans la base de données:

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. Forme Web de construction de base de données (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

Gestion améliorée du pare-feu au niveau du noyau Selinux:

1. Le rôle après l' activation de selinux
: l'impact sur les fichiers:
lorsque selinux est activé, le noyau chargera des
balises pour chaque fichier et chaque programme ouvert Le contexte de sécurité (contexte) du programme et du fichier est enregistré dans la balise ;

Impact sur les fonctions du programme:
lorsque selinux est activé, le commutateur de chargement de fonction du programme sera réglé et l'état de ce commutateur sera désactivé.
Lorsque cette fonction est nécessaire, le commutateur de fonction doit être activé manuellement.
Ce commutateur est appelé sebool;

Si le système lit le fichier /.autorelabel lors du démarrage, selinux sera réinitialisé;

Statut et gestion 2.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. Contexte de sécurité 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初始化文件标签开关文件

Insérez la description de l'image ici
4. SEBOOL:

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

Insérez la description de l'image ici

5. Restrictions Selinux sur les ports de service (modification des ports):

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    ##查看服务使用的端口

Insérez la description de l'image ici

Lorsque selinux est activé, si le service veut terminer avec succès l'opération correspondante, il doit avoir le contexte de sécurité correct dans le système de fichiers et doit également activer le commutateur sebool correspondant;

6. Service Setrouble:

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

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

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

Je suppose que tu aimes

Origine blog.csdn.net/lb1331/article/details/110390845
conseillé
Classement