사용하는 메커니즘은 목표에 따라 다릅니다.
사용자에게 편리 하고 친근한 것을 제공/etc/profile 하려면 모든 사용자가 동일한 쉘을 사용하는 것으로 충분합니다. 를 통해 로그인 할 때만 명령을 실행하려면에 ssh명령을 넣습니다 /etc/ssh/sshrc. 사용자가 자신의 ~/.ssh/rc파일로 명령을 재정의하지 않아도 됩니다.
당신이 할 경우 강제로 하나 개의 프로그램, 실행하는 사용자를 단 하나 개의 프로그램 , 다음 ForceCommandDigitalRoss에 의해 설명 된대로 옵션을 좋은 방법입니다. (개인적 으로 AppArmor , SELinux , TOMOYO 또는 SMACK 과 같은 필수 액세스 제어 시스템으로 사용자를 제한하여 프로그램이 사용자가 탈출 할 수 없도록합니다. AppArmor에서 10 년 동안 일한 적이 있습니다. 도구를 먼저 선택하지만 다른 도구는 뛰어난 프로그래머가 작성한 훌륭한 도구입니다.)
하나의 프로그램을 실행 하고 사용자를 방해하지 않으 려면 가장 좋은 방법은 pam_exec(8)모듈 을 사용하는 것입니다.이 모듈은 무시할 수 없으며 셸에 관계없이 작동하며 사용자 또는 사용자로 쉽게 실행할 수 있습니다. 인증을 수행하는 프로그램의 계정. 맨 페이지는 다음 예제를 제공합니다.
Add the following line to /etc/pam.d/passwd to rebuild the
NIS database after each local password change:
passwd optional pam_exec.so seteuid make -C /var/yp
This will execute the command
make -C /var/yp
with effective user ID.
이것은에 실행하도록 확장 할 수있는 auth, account, password,과 session행동; 아마도 session로그인 할 때 실행하는 것이 가장 좋습니다. 다음과 같은 줄을 추가하십시오.
session optional pam_exec.so log=/var/log/ssh_login_cmd /usr/local/bin/ssh_cmd
당신에 대한 /etc/pam.d/sshd제어 파일.