背景
我在一个开发团队工作,对于每个项目,我们都有不同的服务器设置来模拟客户的环境。跟踪我在每台服务器上所做的事情以及需要从哪里开始可能很困难。为了缓解这个问题,我开始使用终端多路复用器(tmux/screen)。
我的问题出在我工作的一台服务器上,项目负责人不断犯错误并重置系统。当这种情况发生时,我失去了所有的屏幕,也失去了回到原来的位置和正在做的事情的时间。
问题
所有开发人员都获得了服务器的 root 访问权限,我想知道是否可以设置服务器,以便我的项目负责人在决定重置服务器时收到用户登录或屏幕运行的警告?
(如果可能的话,我想包含一条消息,说明我正在运行的内容以及为什么他们应该找到不同的解决方案来重置服务器。在我的公司中,这是唯一每天重置服务器的项目经理。)
答案1
write-to-all 的缩写命令wall
传统上用于向所有登录用户广播消息。
但我认为,为了让你的部门正常运作,沟通也需要在人性化的层面上进行。
who
或w
将显示登录用户的列表,以及他们的终端是否空闲,给出一些指示他们是否仍然处于活动状态,但他们可能正在运行后台任务,需要正常关闭。
让每个人都以同一用户身份登录并不是一个好主意,因为您无法分辨他们的实际身份并会导致安全问题。该sudo
命令是允许用户或用户组以特定用户身份运行某些或任何命令的好方法,并且root
使用 sudo 登录/var/log/syslog
或提供审计跟踪。 (哪个日志文件取决于您的发行版)。/var/log/messages
/var/log/auth
您的公司最好拥有一个跨服务器的标准通用环境,也许还可以考虑虚拟服务器,它为测试、开发和集成、生产等提供了一个隔离的实例。您的问题提出了很多主题,很难解决它们答案如此简短。
我希望其他人能够向您提出或指出一些有关行业最佳实践的良好文档,因为听起来您似乎有很多问题需要解决。
编辑 1 @Dodzi Dzakuma,好吧,这可能是一种方法,但我想知道为什么你的系统需要如此频繁地关闭?从长远来看,也许解决根本问题更好,而不是围绕关闭开发脚本。另外,关机应该由 root 运行,这就是我建议使用sudo
.您能否采用另一种相互交流的方法,通过独立于您正在使用的服务器的聊天服务器?
@slm 谢了。