กลไกการใช้ขึ้นอยู่กับเป้าหมายของคุณ
หากคุณต้องการให้สิ่งที่สะดวกหรือเป็นมิตรกับผู้ใช้ของคุณคุณ/etc/profileมีเหตุผลเพียงพอหากผู้ใช้ทั้งหมดใช้เชลล์เดียวกัน หากคุณต้องการคำสั่งที่จะดำเนินการเฉพาะเมื่อเข้าสู่ระบบผ่านทางคำสั่งลงในสถานที่ssh /etc/ssh/sshrc(หากคุณไม่คำนึงถึงผู้ใช้ที่เอาชนะคำสั่งด้วย~/.ssh/rcไฟล์ของตนเอง)
หากคุณต้องการที่จะบังคับให้ผู้ใช้รันโปรแกรมหนึ่งและมีเพียงโปรแกรมหนึ่งแล้วForceCommandตัวเลือกตามที่อธิบาย DigitalRoss เป็นวิธีการที่ดี (โดยส่วนตัวแล้วฉันจะ จำกัด ผู้ใช้ด้วยระบบควบคุมการเข้าใช้ที่จำเป็นเช่นAppArmor , SELinux , TOMOYOหรือSMACKเพื่อให้แน่ใจว่าโปรแกรมไม่สามารถอนุญาตให้ผู้ใช้หลบหนีได้ฉันทำงานบน AppArmor มาสิบปีแล้ว เครื่องมือที่ฉันจะเลือกก่อน แต่อื่น ๆ เป็นเครื่องมือที่ดีที่เขียนโดยโปรแกรมเมอร์ที่ยอดเยี่ยม)
หากคุณต้องการให้โปรแกรมหนึ่งโปรแกรมดำเนินการและไม่รบกวนผู้ใช้ในทางใดทางหนึ่งวิธีที่ดีที่สุดคือใช้pam_exec(8)โมดูลซึ่งไม่สามารถข้ามได้ทำงานโดยไม่คำนึงถึงเชลล์และให้ความสามารถในการเรียกใช้ในฐานะผู้ใช้หรือในฐานะผู้ใช้ บัญชีของโปรแกรมที่ดำเนินการอนุมัติ manpage ให้ตัวอย่างต่อไปนี้:
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ไฟล์ควบคุมของคุณ