记录一次环境的安装
创始人
2024-11-16 01:41:16
0次

目录

新添加的代码

代码解释

为啥ubuntu用debian软件源

为啥修改sources.list.d

S权限意思

php缺少和数据库连接的模块

使用root登陆数据库1698错误

字段解释

auth_socket解释

使用root登陆数据库方法

详细解释


首先在安装的时候,有一个dockerfile文件,将dockerfile中的内容拉取下来。

但是报如下错误

经过查询是这个源过期了

新添加的代码

RUN echo https://debian.octopuce.fr/snapshots/sury-php/stretch-latest/ stretch main" > /etc/apt/sources.list.d/php.list

代码解释

https://debian.octopuce.fr/snapshots/sury-php/stretch-latest/ 是一个存储 PHP 软件包的 Debian 软件源地址。

stretch main 是 APT 源的配置格式,其中:
stretch 表示 Debian 发行版的代号,这里指的是 Debian 9 (Stretch)。
main 表示软件库的分组,即主要软件库,包含大部分开发者和用户使用的软件包。

通过执行这行代码,系统会将这个地址添加到 /etc/apt/sources.list.d/php.list 文件中,以后 APT 更新时将会使用这个地址获取与 PHP 相关的软件包更新和信息

为啥ubuntu用debian软件源

Debian 和 Ubuntu 是两个流行的 Linux 发行版
Ubuntu 是基于 Debian 构建的。Ubuntu 最初是从 Debian unstable 分支派生而来的,但现在已经发展成为一个独立的发行版。

Ubuntu 使用 Debian 的 .deb 包格式作为其软件包的基础,同时也继承了 Debian 的 APT包管理系统,包括 apt-get 和 apt 命令。Ubuntu 的软件仓库和 Debian 有一些相似之处, Ubuntu 也有自己的软件包仓库,其中包含了一些特定于 Ubuntu 的软件包。

为啥修改sources.list.d

buntu中的/etc/apt/sources.list.d目录主要用于存放第三方软件的源配置文件。‌

在Ubuntu系统中,‌软件源的配置文件主要位于/etc/apt/sources.list,‌而/etc/apt/sources.list.d目录则是用来存放额外的软件源配置文件,‌这些文件通常具有.list扩展名。‌这些额外的配置文件允许用户在单独的文件中写入源的地址,‌提供了一种灵活的方式来管理软件源,‌特别是对于安装第三方软件时非常有用。‌通过这种方式,‌用户可以方便地添加、‌修改或删除软件源,‌而无需直接编辑主配置文件/etc/apt/sources.list。‌更新软件源时,‌使用命令apt-get update即可使更改生效。‌

S权限意思

+s权限在Linux系统中指的是Set UID(‌Set User ID)‌权限,‌通常简写为SUID。‌当对一个文件设置SUID权限时,‌意味着当该文件被执行时,‌程序将以文件所有者的身份运行,‌而不是以执行该文件的用户的身份运行。‌这个特性在一些需要特定权限执行的程序中非常有用,‌例如,‌当某个程序需要以文件所有者的权限运行时,‌可以通过设置SUID权限来实现。‌例如,‌如果一个文件的所有者是root,‌而普通用户需要运行该文件执行某些只有root权限才能执行的操作时,‌可以通过给该文件设置SUID权限来实现。‌

SUID权限的设置可以增强系统的灵活性,‌允许普通用户执行一些需要特殊权限的任务,‌同时也能提高系统的安全性,‌因为只有当文件所有者确实需要这种权限时才应该设置SUID权限。‌然而,‌SUID权限的不当使用也可能带来安全风险,‌因为如果设置不当,‌可能会导致未经授权的用户获得过多的权限,‌从而对系统造成潜在的安全威胁。‌因此,‌在使用SUID权限时需要谨慎考虑其潜在的安全影响12。‌

php缺少和数据库连接的模块

在访问网站时,返回报500的错误。原因是没有php和数据库连接的模块

有模块了

使用root登陆数据库1698错误

SELECT host,user,authentication_string,plugin FROM mysql.user;

输入上面代码查看对应字段

root是如下字段

字段解释

数据库中的 authentication_string 字段通常用于存储用户账户的加密密码或者认证字符串。具体取决于数据库管理系统的版本和配置,它可能包含以下内容

auth_socket解释

auth_socket 是 MySQL 数据库中一种特殊的认证插件,用于用户身份验证的一部分。它通常用于 Unix 和类 Unix 系统上,特别是在基于 Debian 或 Ubuntu 的系统中。
工作原理:

操作系统用户与数据库用户关联:
在 MySQL 中,存在一个概念是将数据库用户与操作系统用户相关联。当使用 auth_socket 插件时,MySQL 将通过操作系统的身份验证机制来确认用户的身份,而不是直接使用密码来验证。

验证流程:
当一个用户尝试连接到 MySQL 数据库时,MySQL 将检查该用户是否具有操作系统层面上的相关权限。
如果存在相应的操作系统用户,并且其与 MySQL 用户账户名称匹配,并且没有明确设置 MySQL 密码,则允许该用户连接。这意味着,只要操作系统用户存在,并且与 MySQL 用户名称相同,就可以访问数据库,而无需密码验证。

适用情况:
auth_socket 插件适合于特定的安全场景,例如本地服务器或者在使用操作系统用户与数据库用户名称相同且需要访问权限的情况下。
这种方法不需要在 MySQL 中存储密码,从而可以减少密码管理的复杂性和风险。

使用注意事项:

仅限于 Unix/Linux 系统: auth_socket 插件依赖于操作系统的身份验证机制,因此只能在支持的 Unix/Linux 系统上使用。
用户和权限管理: 确保数据库用户的名称与操作系统用户的名称一致,并且理解在使用此插件时如何管理权限和访问控制。

使用root登陆数据库方法

使用如下代码换插件,设置密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

详细解释

ALTER USER:
这是 MySQL 中用于修改用户账户信息的语句。

'root'@'localhost':
标识了要修改的用户及其连接来源。在这里,'root' 是用户名,'localhost' 表示该用户只能从本地主机连接到 MySQL 数据库。

IDENTIFIED WITH mysql_native_password:
这部分指定了用户密码的身份验证插件。在 MySQL 中,有多种身份验证插件可供选择,如 mysql_native_password、caching_sha2_password 等。mysql_native_password 是 MySQL 的一种原生密码验证插件。

BY 'root':
指定了新的密码。在这里,用户 'root' 的密码将会被设置为 'root'。

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...