记录一次环境的安装
创始人
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'。

相关内容

热门资讯

九分钟带你发现!微信随意玩辅助... 九分钟带你发现!微信随意玩辅助器(辅助挂)其实真的是有挂(存在有挂)-哔哩哔哩;亲真的是有正版授权,...
第8分钟带你了解!微信边锋辅助... 第8分钟带你了解!微信边锋辅助软件(辅助挂)透视玄学外挂开挂辅助软件(果然是有挂的);打开点击测试直...
七分钟带你详情!拱趴大菠萝辅助... 七分钟带你详情!拱趴大菠萝辅助方法,广西老友玩辅助,必备教程(讲解有挂)-哔哩哔哩;无需打开直接搜索...
第四分钟带你了解!皮皮衡阳字牌... 第四分钟带你了解!皮皮衡阳字牌黑科技视频(辅助挂)透视好友房外挂开挂辅助软件(一直是有挂的)>>您好...
第4分钟开挂!wejoker辅... 第4分钟开挂!wejoker辅助机器人,拱趴大菠萝怎么开挂,2026新版技巧(存在有挂)-哔哩哔哩;...
第4分钟带你科普!创思维激k有... 第4分钟带你科普!创思维激k有辅助器吗(辅助挂)其实确实有挂(有挂方式)-哔哩哔哩;创思维激k有辅助...
第2分钟带你了解!多乐跑得快私... 第2分钟带你了解!多乐跑得快私人房间辅助视频,新九天辅助系统,玩家教程(有挂技巧)-哔哩哔哩;无需打...
8分钟带你了解!哈局十三张元华... 8分钟带你了解!哈局十三张元华辅助(辅助挂)透视软件外挂开挂辅助脚本(其实确实有挂) 了解更多开挂安...
第7分钟了解!天天爱消除自动消... 第7分钟了解!天天爱消除自动消除辅助,微信边锋辅助下载,解密教程(有人有挂)-哔哩哔哩;天天爱消除自...
第5分钟带你解说!南通长牌有挂... 第5分钟带你解说!南通长牌有挂吗(辅助挂)原来真的有挂(证实有挂)-哔哩哔哩;南通长牌有挂吗AI智能...