我被 'debian-sys-maint' 用户咬了好几次,该用户默认安装在从 Ubuntu 存储库安装的 mysql-server 软件包上。
通常发生的情况是我拉出我们生产数据库的新副本(它不在 Debian/Ubuntu 上运行)用于故障排除或新开发,但忘记排除 mysql.user 表,从而丢失 debian-sys-maint 用户。
如果我们出于任何原因添加新的 mysql 用户,我必须将它们“合并”到我的开发环境中,而不是仅仅覆盖表。
如果没有用户,我的系统似乎仍然可以正常运行,但受到以下错误的困扰:
sudo /etc/init.d/mysql restart
Stopping MySQL database server: mysqld...failed.
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
Run Code Online (Sandbox Code Playgroud)
编辑
附加问题 - /etc/mysql/debian.cnf 中的密码是否已经散列,还是明文密码?当你重新创建用户时很重要,我似乎从来没有在第一次尝试时就做对了。
谢谢
我正在设置一个新服务器,并希望通过 chown:chgrp:chmod 样式权限给 ACL 一个机会。
setfacl 的手册页指出“-R”选项可用于在文件和目录上递归设置 ACL。
-R, --recursive 递归地将操作应用于所有文件和目录。此选项不能与“--restore”混合使用。
如果我的目录布局看起来像这样
Run Code Online (Sandbox Code Playgroud)test/ subtest/ subtest.txt
我执行
setfacl -Rm d:u:foo:rwX test
Run Code Online (Sandbox Code Playgroud)
ACL 对“subtest”目录生效,但对 subtest.txt 文件无效。
我想我可以使用 find + exec 来解决这个问题,但我计划使用这个服务器来训练其他一些管理员,我想让它尽可能简单,这样我们就不会被一些更高级的东西所困扰公约。
谢谢
我有一台运行 Ubuntu Server 的服务器,在单个 NIC 上有四个 IP 地址。
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
Run Code Online (Sandbox Code Playgroud)
(以 192.168.xx 为例,假设这些是 NAT-ed 到一系列公共 IP 地址)
我们的一个客户通过 FTP 发布他们的库存,因此我们每晚登录以从他们的服务器下载一个大文件。他们的防火墙希望我们的(被动)FTP 连接从 192.168.1.100 建立。
鉴于我的服务器在一个适配器上逻辑上有四个 IP 地址,操作系统如何确定哪个 IP 地址用作出站 TCP/IP 连接的源?
假设我在 192.168.1.101 上通过 ssh 进入我的服务器并以交互方式运行 FTP。出站 TCP/IP 连接是否会使用 192.168.1.101,因为操作系统知道这是连接我的 shell 的接口?
如果 FTP 任务通过没有 shell 的 cron 作业以非交互方式运行怎么办?
你可能会说,这让我很困惑,所以我希望我的问题至少是有道理的。
编辑
为了澄清我问的原因——我没有对路由表进行任何更改,它实际上将“eth0”列为 0.0.0.0 路由的 IFace。但是,所有迹象表明它实际上使用 eth0:0 作为源。
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 …Run Code Online (Sandbox Code Playgroud)