SSH 로그인 시 스크립트 실행

SSH 로그인 시 스크립트 실행

개발 환경이 있습니다. 4명의 사용자가 재택근무를 하는 계약직이므로 로그인한 시간을 기록할 수 있도록 하고 싶습니다.

어떻게 해야 할지 모르겠습니다. 이번 주말에 시스템 관리자가 저를 떠났고 저는 여기서 길을 잃었습니다. 하루에 첫 번째 로그인에 대해서만 스크립트나 명령을 실행할 수 있기를 원합니다. 그리고 가능하다면 로그아웃할 때.

예:

오늘 @ 오전 8시 user1 로그인: 명령 실행 /path/command.sh 오늘 @ 오전 9시 user2 로그인: 명령 실행 /path/command.sh 오늘 @ 오후 2시 user1 로그아웃 오늘 @ 오후 3시 user1 로그인: 오늘 @ 오후 4시 user1 로그인 (두 번째 쉘 창): 아무것도 하지 않습니다...

.profile 파일을 사용할 수 있을 것 같은데 잘 모르겠습니다. 감사합니다.

우분투 서버 12.04에서 실행 중

답변1

로그인 시간을 추적하기 위해 아무 것도 할 필요가 없습니다. 이 last명령은 로그인한 지 일주일 반이 지나도 알려줍니다. 또한 IT 부서에서는 로그아웃한 시점을 알려주는데, 이는 유용할 수 있습니다.

명령을 실행하는 한 .profile파일을 사용할 수 있지만 가장 큰 문제는 많은 프로그래머가 선호하는 환경을 설정하기 위해 이 파일을 수정하여 변경 사항을 지울 가능성이 있다는 것입니다. 제발 그들이 그렇게 할 수 없다고 말하지 마세요. 도트 파일을 통해 개별 환경을 설정하는 것은 단지 작업의 일부일 뿐입니다. 기껏해야 기술적으로 경험이 없어 보일 수 있지만 최악의 부분은 다루지 않겠습니다.

솔직히 제가 추천하고 싶은 것은 해당 명령을 실행하여 현재 수행 중인 작업을 수행할 수 있는 다른 방법을 찾는 것입니다. 그건 인사/사회/경영 문제인데, 그런 문제를 기술적 수단으로 해결하려는 건... 좋지 않아요. 그리고 @Vinz가 지적했듯이 로그인할 때 단지 로그인만 한다고 해서 그들이 수행 중인 작업에 대한 유용한 정보를 얻을 수 있다는 의미는 아닙니다.

답변2

현재 무엇을 하고 있는지 확인하는 데 사용할 수 있는 몇 가지 쉬운 명령이 있습니다.

  • 마지막 로그#마지막으로 로그인한 시간 확인
  • WHO#현재 컴퓨터에 누가 연결되어 있는지 확인
  • ps -U 사용자 이름#사용 중인 프로세스를 표시합니다.
  • 이소프 | grep 사용자 이름 #사용 중인 필드를 표시합니다.

하지만 이건 관리 문제나 심지어 신뢰 문제처럼 보이는데요?

관련 정보