ใน Mountain Lion เหตุใดเชลล์ระยะไกลผ่าน ssh จะไม่สืบทอดสภาพแวดล้อมของโปรเซสแม่ของ launchd?


3

เมื่อลงชื่อเข้าใช้ Mac Lion ของฉันจากระยะไกลผ่านทาง ssh ฉันไม่ได้รับเหมือนกัน PATH ตัวแปรเมื่อฉันเปิดเชลล์ภายใน: เชลล์โลคัลสืบทอดสภาพแวดล้อมตามที่คาดไว้ launchd และดังนั้นจึงมีค่าเส้นทางที่ฉันตั้งไว้ /etc/launchd.conf.

ด้วยเปลือกระยะไกลฉันรู้สึกประหลาดใจ: เมื่อฉันเปิดเปลือกผ่าน ssh มันทำ ไม่ สืบทอดตัวแปรสภาพแวดล้อมที่ตั้งค่า /etc/launchd.conf แม้ว่าที่เกี่ยวข้อง ssh กระบวนการทั้งหมดมี launchd ในฐานะผู้ปกครอง ทำไม???

ตัดจาก ps -ef เอาท์พุทแสดง:

UID   PID  PPID   C STIME   TTY           TIME CMD
  0     1     0   0 Mon01PM ??         9:07.07 /sbin/launchd
.
.
.
501   150     1   0 Mon01PM ??         0:17.99 /sbin/launchd
.
.
.
501 39994   150   0 Thu11AM ??         0:00.72 /usr/bin/ssh-agent -l
.
.
.
  0 74002     1   0  2:08PM ??         0:00.05 /usr/sbin/sshd -i
501 74005 74002   0  2:08PM ??         0:00.00 /usr/sbin/sshd -i
501 74000  9844   0  2:08PM ttys000    0:00.02 ssh bridge@bridgethegap.local

ฉันสามารถแก้ไขปัญหาได้โดยการตั้งค่า PATH เช่น. ใน .bashrcแต่ฉันกำลังค้นหาวิธีที่จะให้เหมือนกัน PATH ไปยัง ทั้งหมด แอปพลิเคชั่นเปิดตัวภายใต้ Mountain Lion (ดู ใน Mountain Lion ฉันจะตั้งค่าตัวแปรสภาพแวดล้อม PATH ได้อย่างไร ... )

ดังนั้นคำถามของฉันคือ: ทำไม remote shells ผ่าน ssh จึงไม่สืบทอดสภาพแวดล้อมของ launchd?

คำตอบ:


2

ฉันค้นหาคำตอบด้วยและในที่สุดก็พบคำตอบที่เกี่ยวข้องกับคำถามนี้ วิธีตั้งค่าตัวแปรสภาพแวดล้อมทั้งระบบใน OS X Mavericks .

มันเป็นมาตรการรักษาความปลอดภัยโดยเฉพาะอย่างยิ่งเพื่อให้แน่ใจว่าผู้ใช้ shell ที่มีการปิดใช้งาน shell นั้นปลอดภัย SHELL ถูกตั้งค่าเป็น /bin/falseไม่สามารถเข้าถึงที่ไม่ได้ร้องขอ

วิธีแก้ปัญหาเดียวคือการตั้งค่า PermitUserEnvironment ในการกำหนดค่า SSH ของคุณ; โปรดอ่านคำเตือนความปลอดภัยในคำตอบที่กล่าวถึงข้างต้นก่อนทำสิ่งนี้


ในขณะที่ลิงค์นี้อาจตอบคำถามได้ดีกว่าที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง
grg

แนวคิดที่ดี: ฉันเพิ่งลองเพิ่มข้อมูลนี้จากคำตอบอื่นใน - แต่ต้องได้รับการตรวจสอบโดยเพื่อน ...
halloleo

ผ่านการตรวจสอบจากเพื่อน - ตอบแล้วตอนนี้มีประโยชน์มากขึ้น :-)
halloleo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.