服务器管理员

系统和网络管理员的问答


9
什么是debian-sys-maint MySQL用户(及更多)?
我已经被默认安装在从Ubuntu存储库安装的mysql-server软件包上的'debian-sys-maint'用户咬过几次。 通常,发生的事情是我提取生产数据库的新副本(该数据库不在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)' debian-sys-maint的作用是什么? 软件包维护者是否有更好的方法来做他们想做的事情? 丢失后最简单的还原方法是什么? 该用户的正确/最小权限集是什么? 似乎“授予*。*的所有特权”的想法很糟糕。 编辑 附加问题-/etc/mysql/debian.cnf中的密码是否已经被哈希处理,或者这是纯文本密码?当您重新创建用户时,这很重要,但我似乎永远不会在第一次尝试时就搞定它。 谢谢
71 linux  ubuntu  mysql  debian 

30
您最喜欢什么开源工具?
我相信现在每个系统管理员都习惯于开源。从Apache到Firefox或Linux,每个人都至少使用了一点。 但是,大多数开源开发人员在市场营销方面都不擅长,因此我知道有数百种非常好的工具,而很少有人知道。 为了填补这一空白,请分享您在日常工作中使用的最喜欢的开源工具。 *我将在评论中发布我的。



6
正确设置https的“默认” nginx服务器
我有几台服务器在同一台计算机上运行,​​有些服务器仅使用http,有些服务器同时使用http和https。在主配置文件中包含的单独文件中定义了几个服务器块。 我为http设置了一个“默认”服务器,该服务器将为通用的“维护页面”提供服务,以与其他配置文件中的任何其他server_name不匹配的请求。http默认服务器按预期工作,它使用server_name“ _”,并且它首先出现在包含列表中(因为我观察到,如果在服务器之间有重复的server_names,则使用出现的第一个)。这很好。 我希望有相同的服务器块(仅将“ listen 80 default_server”切换为“ listen 443 default_server”,而不是服务页面“ return 444”),但事实并非如此。取而代之的是,尽管其他服务器块对传入的请求具有更合适的server_name,但新的默认https服务器似乎实际上正在捕获所有传入的https连接并导致它们失败。删除新的默认https服务器将导致恢复半正确的行为:带有https的网站将全部正确加载;但没有https的网站将全部路由到包含文件中的第一个https服务器(根据文档,如果未显示“ default_server”,则出现的第一个服务器块将为“ default”)。 所以我的问题是,在Nginx中为SSL连接定义“默认服务器”的正确方法是什么?为什么当我显式设置“ default_server”时,它会变得贪婪并获取所有连接,而当我隐式地让nginx决定“ default server”时,它会像我期望的那样工作(将错误的服务器设置为default,其他真实服务器行为正确)? 这是我的“默认服务器”。Http的工作方式不会破坏其他服务器。Https破坏其他服务器并消耗所有服务器。 server { listen 443 ssl default_server; server_name _; access_log /var/log/nginx/maintenance.access.log; error_log /var/log/nginx/maintenance.error.log error; return 444; } server { listen *:80 default_server; server_name _; charset utf-8; access_log /var/log/nginx/maintenance.access.log; error_log /var/log/nginx/maintenance.error.log error; root …
70 ssl  https  nginx 

17
mysql_upgrade失败,没有给出真正的原因
我正在从MySQL 5.1升级到5.5,运行mysql_upgrade并得到以下输出: # mysql_upgrade Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck FATAL ERROR: Upgrade failed 关于在哪里查找正在发生(或未发生?)的任何想法,以便我可以解决所有错误并实际运行mysql_upgrade? 谢谢! 更多输出: # mysql_upgrade --verbose Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck FATAL ERROR: Upgrade failed # mysql_upgrade --debug-check --debug-info Looking for 'mysql' as: mysql Looking for 'mysqlcheck' …
70 mysql  mysql5.5 

7
显示所有用户及其组,反之亦然
我知道我已经有组和用户,但是我不确定它们的关联。是否有我可以用来列出所有用户或所有组的shell命令,以及可以列出指定用户/组的所有组/用户的命令? 因此,showusers将列出所有用户,并showgroups -u thisuser显示其中的所有组thisuser。
70 linux  centos  ssh  users  groups 

7
记录管理员在生产服务器上运行的所有命令
管理员通过个人用户名登录服务器,然后运行sudo -i成为root 用户是公司的公司政策。在运行时sudo -i,sudo将创建一个名为的环境变量SUDO_USER,其中包含原始用户的用户名。 是否可以使用类似于以下语法的方式在syslog中记录所有命令: ${TIME/DATE STAMP}: [${REAL_USER}|${SUDO_USER}]: ${CMD} 一个示例条目为: Sat Jan 19 22:28:46 CST 2013: [root|ksoviero]: yum install random-pkg 显然,它不必完全是上面的语法,它只需要包含最少的实际用户(例如root),sudo用户(例如ksoviero)和运行的完整命令(例如yum)。安装random-pkg)。 我已经尝试过了snoopy,但是没有包含SUDO_USER变量。
70 centos  bash  logging  sudo 

6
我可以发送一些文本到在屏幕会话中运行的活动进程的STDIN吗?
我的Linux服务器上的屏幕会话中有一个长时间运行的服务器进程。这有点不稳定(可惜不是我的软件,所以我无法解决这个问题!),所以我想编写一个每晚重启进程的脚本,以帮助稳定。使其正常关机的唯一方法是进入屏幕进程,切换至正在运行的窗口,然后在其控制台上输入字符串“ stop”。 我是否可以做任何智能重定向操作,以使cronjob每天在固定时间发送该stop命令?

18
您是否在服务器之间跳过机架单元?
在安装机架式服务器时,似乎在观念上存在很多分歧。有讨论螺纹臂和其他机架安装配件的话题,但我很好奇: 安装服务器时,是否在服务器之间留有空的机架单元?为什么或者为什么不?您是否有任何经验证据来支持您的想法?有谁知道一项研究能够最终证明一项研究是否更好?

21
http://to./有效域名到底是怎么回事?
显然,这是一个URL缩短器。它可以在Chrome和Firefox中很好地解决。这是一个有效的顶级域名吗? 更新:对于说这是浏览器恶作剧的人们,为什么会这样:为什么http://com./不带我去:http://www.com/? 而且,浏览器是否曾经从地址栏中的实际地址以外的其他地方发送过响应?除了框架集之类的东西之外,我认为浏览器还非常努力地仅从地址栏中的站点向您发送内容,以防止网络钓鱼。


8
如何获得刚刚开始的过程的pid
我想启动进程(例如myCommand)并获取其pid(以便稍后将其杀死)。 我尝试了ps并按名称过滤,但无法按名称区分进程 myCommand ps ux | awk '/<myCommand>/ {print $2}' 因为进程名称不是唯一的。 我可以通过以下方式运行流程: myCommand & 我发现可以通过以下方式获取此PID: echo $! 有没有更简单的解决方案? 我很乐意执行myCommand并通过一行命令获得其PID。
70 linux  unix  bash  process  pid 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.