เรามีเซิร์ฟเวอร์ Ubuntu 10.04 ฉันจะตั้งค่าอย่างไรเพื่อให้ไฟล์ใหม่ที่สร้าง (หรือคัดลอก) ผ่าน SFTP หรือ SSH มีสิทธิ์ g + rw และ g + rwx (ตามความเหมาะสม)
ฉันยังใช้ setgid (chmod g + s) เพื่อให้พวกเขาสืบทอดเจ้าของกลุ่มที่เหมาะสม
เรามีเซิร์ฟเวอร์ Ubuntu 10.04 ฉันจะตั้งค่าอย่างไรเพื่อให้ไฟล์ใหม่ที่สร้าง (หรือคัดลอก) ผ่าน SFTP หรือ SSH มีสิทธิ์ g + rw และ g + rwx (ตามความเหมาะสม)
ฉันยังใช้ setgid (chmod g + s) เพื่อให้พวกเขาสืบทอดเจ้าของกลุ่มที่เหมาะสม
คำตอบ:
ใน / etc / ssh / sshd_config คุณสามารถผ่านการตั้งค่าสถานะและค่าใน (-u 0002) เช่นต่อไปนี้เพื่อตั้งค่า umask:
Subsystem sftp /usr/lib/openssh/sftp-server -u 0002
ผนวก -u 0002 เข้ากับบรรทัด sftp ของระบบย่อยที่มีอยู่ของไฟล์คอนฟิกูเรชัน
หลังจากนั้นคุณจะต้องรีสตาร์ท ssh เพื่อให้การเปลี่ยนแปลงมีผล:
service ssh restart
Subsystem sftp internal-sftp
ตามเอกสารที่ผ่านมาตัวเลือกเดียวที่สามารถนำมาใช้กับ
ใน / etc / ssh / sshd_config เปลี่ยนสิ่งต่อไปนี้:
Subsystem sftp /usr/lib/openssh/sftp-server
ถึง:
Subsystem sftp /bin/sh -c 'umask 0002; exec /usr/libexec/openssh/sftp-server'
Soure: http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions
exec
ก่อนขั้นสุดท้าย/usr/.../sftp-server
เพื่อที่คุณจะได้ไม่มีsh
กระบวนการที่ไร้ประโยชน์อยู่
0002
02
umask
คำสั่งไม่จำเป็นใด ๆ zeroes ชั้นนำก็มักจะอ่านอาร์กิวเมนต์เป็นตัวเลขฐานแปด.) ... แต่ในความคิดที่สองอาจจะ0002
เป็นที่ชัดเจนที่จะเข้าใจ