배경
저는 개발팀에서 일하고 있으며 각 프로젝트마다 클라이언트 환경을 시뮬레이션하기 위해 서로 다른 서버 설정을 가지고 있습니다. 각 서버에서 무엇을 하고 있는지, 어디서부터 시작해야 하는지 추적하는 것이 어려울 수 있습니다. 이 문제를 완화하기 위해 터미널 멀티플렉서(tmux/screen)를 사용하기 시작했습니다.
내 문제는 내가 작업하는 서버에 있는데 프로젝트 리더가 계속 실수를 하고 시스템을 재설정한다는 것입니다. 이런 일이 발생하면 내가 있던 곳, 내가 하고 있던 일로 돌아갈 수 있는 모든 화면과 시간을 잃게 됩니다.
질문
모든 개발자에게는 서버에 대한 루트 액세스 권한이 부여됩니다. 프로젝트 리더가 서버를 재설정하기로 결정한 경우 사용자 로그인이나 화면 실행 경고를 받도록 서버를 설정할 수 있는지 궁금합니다.
(가능하다면 제가 실행 중인 작업과 서버 재설정을 위한 다른 해결 방법을 찾아야 하는 이유를 설명하는 메시지를 포함하고 싶습니다. 저희 회사에서는 매일 서버를 재설정하는 프로젝트 관리자가 이 사람뿐입니다. )
답변1
축약된 명령인 write-to-all wall
은 전통적으로 로그인한 모든 사용자에게 메시지를 브로드캐스트하는 데 사용됩니다.
하지만 부서가 제대로 기능하려면 인간적인 차원에서도 소통이 이루어져야 한다고 생각해요.
who
또는 w
로그인한 사용자 목록과 해당 터미널이 유휴 상태인지 여부를 표시하여 사용자가 여전히 활성 상태인지 여부를 표시하지만 백그라운드 작업을 실행 중일 수 있으므로 정상적으로 종료해야 합니다.
모든 사람이 동일한 사용자로 로그인하도록 하는 것은 실제로 누구인지 알 수 없고 보안 문제를 일으킬 수 있으므로 좋은 생각이 아닙니다. 이 sudo
명령은 사용자 또는 사용자 그룹이 특정 사용자로서 일부 또는 모든 명령을 실행하고 root
sudo를 사용하여 로그인 /var/log/syslog
하거나 감사 추적을 제공할 수 있는 좋은 방법입니다. (어떤 로그 파일은 배포판에 따라 다릅니다)./var/log/messages
/var/log/auth
귀하의 회사는 서버 전반에 걸쳐 표준 공통 환경을 갖는 것이 더 나을 것이며 아마도 테스트, 개발 및 통합, 생산 등을 위한 격리된 인스턴스를 제공하는 가상 서버를 고려할 것입니다. 귀하의 질문은 많은 주제를 다루기 때문에 짧은 답변으로 이를 해결하기가 어렵습니다.
답변해야 할 질문이 많은 것 같으니 다른 사람이 업계 모범 사례에 대한 좋은 문서를 알려줄 수 있기를 바랍니다.
편집 1 @Dodzi Dzakuma, 음, 그게 한 가지 방법일 수도 있지만 왜 시스템을 그렇게 자주 종료해야 하는지 궁금합니다. 장기적으로는 클로저 관련 스크립트를 개발하는 것보다 근본적인 문제를 해결하는 것이 더 나을 수도 있습니다. 또한 종료는 루트로 실행해야 하며, 이는 제가 사용하는 것을 권장합니다 sudo
. 사용 중인 서버와 별개로 채팅 서버를 통해 서로 통신할 수 있는 다른 방법이 있습니까?
@slm 감사합니다.