17.LinuxでのMysqlとselinuxの基本的な管理

17.LinuxでのMysqlの基本的な管理

1. linuxのMariadb:
一般的なWebページアーキテクチャ:LAMP(linux、Apache、Mysql、perl / python)/ LNMP(linux、nginx、Mysql、perl / php);
mariadbはmysqlのブランチです。

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

2. mariadbの安全な初期化:

2-1:デフォルトでは、mariadbを開いた後、mysqlコマンドで直接ログインできます。mariadbを
初めて使用するときは、mysql_secure_installationコマンドを使用して安全な初期化を行うことができます:(パスワードなどを設定できます;)
ここに写真の説明を挿入
2-2:データベースの開いているポートを閉じます:

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

systemctl restart mariadb   

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

デフォルトでは、リモートポートは開いていますが、セキュリティ上の大きなリスクがあります。オフにする必要があります。

ここに写真の説明を挿入

3.データベースの基本的な管理(追加、削除、変更、調査):

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;

図に示すように、heiheiという名前のテーブルを作成し、対応する情報を挿入します
ここに写真の説明を挿入
。4。データベースのバックアップ:

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.データパスワード管理:

5-1:データベースパスワードの変更:

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

5-2:データベースパスワードクラッキング:

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.データベース内のユーザーの承認:

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.データベース構築のWeb形式(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

Selinuxカーネルレベルの強化されたファイアウォール管理:

1.開いた後selinuxの役割
:ファイルへの影響:
selinuxをオンにすると、カーネルは各ファイルと開いている各プログラムの
タグをロードしますプログラムとファイルのセキュリティコンテキスト(コンテキスト)はタグに記録さます。

プログラム機能への影響:
selinuxをオンにすると、プログラムの機能読み込みスイッチが設定され、このスイッチの状態がオフになります。
この機能が必要な場合は、機能スイッチを手動でオンにする必要があります。
このスイッチはseboolと呼ばれます。

起動時にシステムが/.autorelabelファイルを読み取ると、selinuxが再初期化されます。

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. 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初始化文件标签开关文件

ここに写真の説明を挿入
4.SEBOOL:

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

ここに写真の説明を挿入

5.サービスポートに対するSelinuxの制限(ポートの変更):

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

ここに写真の説明を挿入

selinuxがオンになっているときに、サービスが対応する操作を正常に完了したい場合は、ファイルシステムに正しいセキュリティコンテキストがあり、対応するseboolスイッチもオンにする必要があります。

6.トラブルサービス:

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

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

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

おすすめ

転載: blog.csdn.net/lb1331/article/details/110390845