当前位置: 首页 > wzjs >正文

网站禁止访问目录目前引流最好的平台

网站禁止访问目录,目前引流最好的平台,破解空间网站,海口网站建设好1. 密码策略从 MySQL 8.0开始,默认身份验证插件从 mysql_native_password 更改为 caching_sha2_passwordMySQL 5.7 的默认密码插件一直以来都是 mysql_native_password。拥有密码验证快的优点,无需在网络中发送实际密码,并且不需要加密的连接…

1. 密码策略

  • 从 MySQL 8.0开始,默认身份验证插件从 mysql_native_password 更改为 caching_sha2_password

  • MySQL 5.7 的默认密码插件一直以来都是 mysql_native_password。拥有密码验证快的优点,无需在网络中发送实际密码,并且不需要加密的连接。然而,mysql_native_password 依赖于 SHA1 算法,但 NIST(美国国家标准与技术研究院)已建议停止使用 SHA1 算法,因为 SHA1 和其他哈希算法(例如 MD5)已被证明非常容易破解

  • 查看数据库当前密码策略:

mysql> show  variables like "%password%";
+----------------------------------------------+-----------------+
| Variable_name                                | Value           |
+----------------------------------------------+-----------------+
| # 是否自动生成RSA密钥对文件caching_sha2_password_auto_generate_rsa_keys | ON              |
| # 哈希回合数caching_sha2_password_digest_rounds          | 5000            |
| # RSA 私钥文件caching_sha2_password_private_key_path       | private_key.pem |
| # RSA 公钥文件caching_sha2_password_public_key_path        | public_key.pem  |
| # MySQL密码过期时间,单位为天default_password_lifetime                    | 0               |
| # 超时断开disconnect_on_expired_password               | ON              |
| # 随机密码长度generated_random_password_length             | 20              |
| # 是否支持代理用户控制认证插件mysql_native_password_proxy_users            | OFF             |
| # 不允许用户使用最近n次使用过的密码password_history                             | 0               |
| # 修改密码时是否需要提供当前用户使用的密码,OFF不需要,ON需要password_require_current                     | OFF             |
| # 不允许用户使用最近n天内使用过的密码password_reuse_interval                      | 0               |
| report_password                              |                 |
| sha256_password_auto_generate_rsa_keys       | ON              |
| sha256_password_private_key_path             | private_key.pem |
| sha256_password_proxy_users                  | OFF             |
| sha256_password_public_key_path              | public_key.pem  |
+----------------------------------------------+-----------------+
  • 查看密码设置策略
mysql> show  variables like "%password%";
+----------------------------------------------+-----------------+
| Variable_name                                | Value           |
+----------------------------------------------+-----------------+
| # 是否自动生成RSA密钥对文件caching_sha2_password_auto_generate_rsa_keys | ON              |
| # 哈希回合数caching_sha2_password_digest_rounds          | 5000            |
| # RSA 私钥文件caching_sha2_password_private_key_path       | private_key.pem |
| # RSA 公钥文件caching_sha2_password_public_key_path        | public_key.pem  |
| # MySQL密码过期时间,单位为天default_password_lifetime                    | 0               |
| # 超时断开disconnect_on_expired_password               | ON              |
| # 随机密码长度generated_random_password_length             | 20              |
| # 是否支持代理用户控制认证插件mysql_native_password_proxy_users            | OFF             |
| # 不允许用户使用最近n次使用过的密码password_history                             | 0               |
| # 修改密码时是否需要提供当前用户使用的密码,OFF不需要,ON需要password_require_current                     | OFF             |
| # 不允许用户使用最近n天内使用过的密码password_reuse_interval                      | 0               |
| report_password                              |                 |
| sha256_password_auto_generate_rsa_keys       | ON              |
| sha256_password_private_key_path             | private_key.pem |
| sha256_password_proxy_users                  | OFF             |
| sha256_password_public_key_path              | public_key.pem  |
+----------------------------------------------+-----------------+
  • 密码强度检查等级解释(validate_password.policy)

mysql> SHOW VARIABLES LIKE 'validate_password%';
Empty set (0.01 sec)
# 注意:若显示为空,则表示未安装插件
mysql> INSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.01 sec)mysql> show  variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| # 是否能将密码设置成当前用户名validate_password.check_user_name    | ON     |
| # 插件用于验证密码强度的字典文件路径,默认为空validate_password.dictionary_file    |        |
| # 密码最小长度,默认为8,有最小值为4的限制validate_password.length             | 8      |
| # 密码至少要包含的小写字母和大写字母的个数validate_password.mixed_case_count   | 1      |
| # 密码至少要包含的数字个数validate_password.number_count       | 1      |
| # 密码强度检查等级validate_password.policy             | MEDIUM |
| # 密码必须包含的特殊字符个数validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
  • 设置密码强度检查等级解释(validate_password.policy)

等级检查对象
0 or LOW检查长度
1 or MEDIUM检查长度、数字、大小写、特殊字符
2 or STRONG检查长度、数字、大小写、特殊字符、字典文件
  •  设置密码强度检查参数
mysql> show variables like 'validate_password.%';  # 查看密码策略# 设置密码验证强度检查策略
mysql> set global validate_password.policy=low;  # 或0# 设置至少要包含大/小写字母的个数
mysql> set  global  validate_password.mixed_case_count=0;# 设置至少要包含数字的个数
mysql> set  global  validate_password.number_count=6;# 设置至少包含特殊字符个数
mysql> set  global  validate_password.special_char_count=0;# 设置密码长度
mysql> set  global  validate_password.length=6;  mysql> show variables like 'validate_password.%';  # 再次查看
+-------------------------------------------------+-------+
| Variable_name                                   | Value |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0     |
| validate_password.check_user_name               | ON    |
| validate_password.dictionary_file               |       |
| validate_password.length                        | 6     |
| validate_password.mixed_case_count              | 0     |
| validate_password.number_count                  | 6     |
| validate_password.policy                        | LOW   |
| validate_password.special_char_count            | 0     |
+-------------------------------------------------+-------+
8 rows in set, 1 warning (0.00 sec)mysql> flush  privileges;       # 刷新权限,生效
Query OK, 0 rows affected (0.01 sec)
  • 修改密码

mysql> select user, host, plugin from mysql.user;  # 查看root用户信息mysql> alter user 'root'@'localhost' identified by '123456';
# 注意:主机名为localhost,远程主机为%mysql> flush  privileges;
Query OK, 0 rows affected (0.01 sec)

2. 登陆账户管理

  • mysql8的账户权限管理原则:先创建账户,在赋予权限

  • 用户信息存放在 mysql数据库下的 user 表

mysql> select user();   # 查看当前的用户信息mysql> use mysql;mysql> show tables;mysql> desc user;mysql> select user,host,authentication_string from user;

3. 新建登陆账户

  • 格式
create  user  'username'@'localhost'  identified  by  'password';
  • 含义
  • username: 创建的用户名

  • localhost: 指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost ,如果想让该用户可以从任意远程主机登陆,可以使用通配符 %

  • password: 该用户的登陆密码

  • 示例
mysql> create user  'test1'@'localhost' identified by '123456';
# 注意:密码要符合密码设置规则mysql> select user, host, plugin from mysql.user;  # 查看信息mysql> exit
ByePS C:\Users\Administrator> mysql -u test1 -p
Enter password: ******    # test账户登录mysql> show databases;   # 只能看到有限的库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
2 rows in set (0.01 sec)

4. 账户授权

  • 作用:通过账户权限限制普通账户的工作范围及内容,赋权原则如下:

    • root账号绝对禁止允许任何IP都可以访问,即登录方式不能用%

    • 应用账号和管理账号要分离

    • 赋权最小化,即一般只给select权限,最好不要给update、insert等编辑权限

    • 密码设置合理

    • 定期清理不使用的账户,将其收回权限或删除

  • 常见的用户权限

  • 查看权限
mysql> exit
ByePS C:\Users\Administrator> mysql -u root -pmysql> show  grants;   # 查看当前账户mysql> show  grants for  'test1'@'localhost';  # 查看其它账户权限
+----------------------------------+
| Grants for test1@%                |
+----------------------------------+
| GRANT USAGE ON *.* TO `test1`@`localhost` |
+----------------------------------+
1 row in set (0.00 sec)
# 上例显示test账户只有usage默认权限即连接登录的权限
  • 赋权语法
grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' [identified  by '密码'];
  • 分析
  • 权限列表: 用户的操作权限,如 SELECT , INSERT , UPDATE ,CREATE 等,如果要授予所有的权限则使用 ALL

  • 数据库名: 数据库名,如果 * 代表所有数据库

  • 表名:如果 * 代表所有数据表

  • localhost: 指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost ,如果想让该用户可以从任意远程主机登陆,可以使用通配符 %

  • 示例1:创建test1账户,赋权
# 使用root账户登录
mysql> grant select on *.* to 'test1'@'localhost';  # 赋予mysql库的查询权限
Query OK, 0 rows affected (0.01 sec)mysql> show  grants for  'test1'@'localhost';mysql> select * from  mysql.user where user='test1'\G   # 查看user表的权限信息mysql> \q
Bye
PS C:\Users\Administrator> mysql -u test1 -p   # 重新登录
Enter password: ******mysql> show  databases;mysql> exit
Bye
  • 示例2:创建test2账户,设置密码,赋权select和create权限,仅通过某个网段登录

PS C:\Users\Administrator> mysql -u root -p
Enter password: ******# 需要查本机的IP网段
mysql> create user  'test2'@'10.100.170.%' identified by '123456';mysql> select user, host, plugin from mysql.user;mysql> show  grants for  'test2'@'10.100.170.%';mysql>  grant select,create on *.* to 'test2'@'10.100.170.%';mysql> show  grants for  'test2'@'10.100.170.%';mysql> exit
ByePS C:\Users\Administrator> mysql -u test2 -p123456 -h 10.100.170.198mysql> exit
Bye
10.100.170.198
  • 示例3:创建test3账户,设置密码,赋与所有权限,仅通过%登录,登录后创建test4账户并赋权

PS C:\Users\Administrator> mysql -u root -pmysql> create user  'test3'@'%' identified by '123456';mysql> select user, host, plugin from mysql.user;mysql> show  grants for  'test3'@'%';mysql> grant all  on *.* to 'test3'@'%';mysql> show  grants for  'test3'@'%';mysql> exit
ByePS C:\Users\Administrator> mysql -u test3 -p123456mysql> create  database  mydbx_temp1;mysql> create user  'test4'@'%' identified by '123456';mysql> select user, host, plugin from mysql.user;mysql> show  grants for  'test4'@'%';   # 查看test4账户权限mysql> select  user();   # 查看当前登录的账户mysql> grant select on *.* to 'test4'@'%';  # 被拒绝,无权给test4账户赋权
ERROR 1045 (28000): Access denied for user 'test3'@'%' (using password: YES)# 注意:all所有权限中不包含给账户赋权的权限grantmysql> exit
ByePS C:\Users\Administrator> mysql -u root -p  # 登录root账户给test3账户赋与给别的账户赋权的权限mysql> grant all  on *.* to 'test3'@'%' with grant option;  # 给test3添加赋权的权限mysql> exit
ByePS C:\Users\Administrator> mysql -u test3 -p123456   # 登录test3账户mysql> grant select on *.* to 'test4'@'%';  # 给test4赋权
Query OK, 0 rows affected (0.01 sec)
  • 注意:若赋权不成功则先给root账户增加system_user权限

mysql> grant  system_user on *.* to  'root'@'localhost';  # 给root赋权system_user权限
# 注意:登录主机是%还是localhost

5. 回收权限

格式

revoke  权限列表/all  on  库名.表名  from  '用户名'@'来源地址';# revoke跟grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可
  • 示例4:回收所有权限

mysql> select  user();
+-----------------+
| user()          |
+-----------------+
| test3@localhost |
+-----------------+mysql> exit
ByePS C:\Users\Administrator> mysql -u root -pmysql> select user, host, plugin , select_priv from mysql.user; 
# select_priv查询权限mysql> show  grants for  'test4'@'%';  # 查看test4账户的权限mysql> revoke select  on *.*  from 'test4'@'%';   # 回收select权限mysql> show  grants for  'test4'@'%';mysql> revoke all  on *.*  from 'test3'@'%';   # 回收所有权限mysql> show  grants for  'test3'@'%';mysql> revoke all  on *.*  from 'test2'@'10.100.170.%';  # 同上mysql> show  grants for 'test2'@'10.100.170.%';mysql> revoke all  on *.*  from 'test1'@'localhost';mysql> show  grants for  'test1'@'localhost';

6. 删除账户

格式

drop user '用户名'@'访问主机名';
  • 示例5:删除所有账户

mysql> select user, host  from mysql.user;mysql> drop  user 'test1'@'localhost';  
Query OK, 0 rows affected (0.01 sec)mysql> drop  user 'test2'@'10.100.170.%';
Query OK, 0 rows affected (0.01 sec)mysql> drop  user test3;  # 注意:主机为%可以不写
Query OK, 0 rows affected (0.01 sec)mysql> drop  user test4;
Query OK, 0 rows affected (0.00 sec)mysql> select user, host  from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

http://www.dtcms.com/wzjs/260794.html

相关文章:

  • 网站风格设计视觉江苏免费关键词排名外包
  • 银川网站建站百度竞价推广怎么做效果好
  • 宝安区城市建设局网站学网络运营需要多少钱
  • wordpress的页面标题杭州seo顾问
  • 怎么做代刷网网站app宁波seo网络推广外包报价
  • 给客户做非法网站seminar是什么意思
  • 烟台网站排名优化价格适合40岁女人的培训班
  • 百度推广做网站什么价位全媒体运营师培训费用
  • 政府网站建设技术员工资多少抄一则新闻四年级
  • 小米品牌vi设计南平seo
  • 网站建设开发方式包括一l丫网络技术培训
  • 一级a做爰片付费网站网络推广员要怎么做
  • 陕西省建设执业注册中心网站app线下推广怎么做
  • 深圳宝安建网站百度seo优化策略
  • 南京房地产网站建设百度推广代理商与总公司的区别
  • 中国建筑设计咨询公司搜索引擎优化文献
  • 做网站用什么面板好网站外链是什么意思
  • 清镇网站建设神马网站快速排名案例
  • 做网站用小型机或服务器做网络推广一般是什么专业
  • 免费素材网站哪个最好seo关键词排名软件流量词
  • 做直播网站需要哪些技术seo自动点击排名
  • 网站首页被挂黑链企业培训课程安排表
  • 网站建设委托合同网站关键词排名批量查询
  • 做购物网站需要什么资质外包公司和劳务派遣的区别
  • 长沙网络建设的网站网页模板源代码
  • jspajax网站开发典型实例网页制作html代码
  • 做soho 怎么建立网站手机关键词seo排名优化
  • 做网站的职业叫什么深圳推广系统
  • 可以免费注册网站金华seo全网营销
  • 招聘网官方网站口碑营销的优势有哪些