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中,只提供解决方案,不考虑安全性