ฉันจะตั้งค่าเริ่มต้นของไดเรกทอรีและไฟล์ที่สร้างเป็น 775 ได้อย่างไร ความเข้าใจของฉันคือฉันต้องแก้ไข umask บน VSFTPD แต่ฉันจะรู้ได้อย่างไรว่าจะเปลี่ยนเป็นอย่างไร
ฉันจะตั้งค่าเริ่มต้นของไดเรกทอรีและไฟล์ที่สร้างเป็น 775 ได้อย่างไร ความเข้าใจของฉันคือฉันต้องแก้ไข umask บน VSFTPD แต่ฉันจะรู้ได้อย่างไรว่าจะเปลี่ยนเป็นอย่างไร
คำตอบ:
Umask และการอนุญาตขั้นสุดท้ายที่คุณต้องการควรเพิ่มได้ถึง 777 เนื่องจากคุณต้องการการอนุญาต 775 คุณต้องมี 777 - 775 = 002 เป็น umask
002
เป็นค่าฐานแปดใช่ไหม ทำไมคุณเพิ่มอีกชั้นนำ0
?
002
(ไม่สามารถจำความต้องการของฉันในเวลานั้น) แต่มันควรจะเป็นสำหรับเช่น022
(ซึ่งจะถือว่าเป็นฐาน 10 22
) 0022
VS อย่างไรก็ตามมันก็ไม่ได้ทำงานสำหรับฉันโดยไม่ได้ ...
ในกรณีที่คุณสงสัยว่าจะตั้ง umask ไว้ที่ไหนก็สามารถตั้งค่าในไฟล์ vsftpd config (/etc/vsftpd.conf) anon_umask
สำหรับการเข้าถึงแบบไม่ระบุชื่อและlocal_umask
สำหรับผู้ใช้
สำหรับหน้ากากเพื่อการทำงานอย่างถูกต้อง (แม้จะไม่สามารถเข้าถึงที่ไม่ระบุชื่อ) ดูเหมือนว่าจำเป็นที่จะต้องตั้งค่าและanon_upload_enable=YES
anon_mkdir_write_enable=YES
หากไม่ได้ตั้งค่าไว้การเขียนการอ่านและการดำเนินการจะไม่ได้รับอนุญาตสำหรับกลุ่มหรือคนอื่น ๆ ในไฟล์ที่อัพโหลดผ่าน ftp (แม้ว่าจะตั้งค่าสิทธิ์มาตรฐานไว้สำหรับอย่างอื่น)
ในกรณีของคุณหากคุณต้องการการเข้าถึงที่รับรองความถูกต้องโดยผู้ใช้คุณควรตั้งค่าต่อไปนี้:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0002
anon_upload_enable=YES
anon_mkdir_write_enable=YES
file_open_mode=0777
ที่นี่file_open_mode
ตั้งค่าเริ่มต้นของไฟล์ 777
ทำให้สามารถอ่านเขียนได้และปฏิบัติได้สำหรับทุกคน ด้วยการlocal_umask
ตั้งค่าให้002
สิ่งนี้จะให้คุณ775
ตามที่คุณร้องขอ
Notica ที่เป็นlocal_umask
ค่าเริ่มต้น077
ปิดการใช้งานกลุ่มและอื่น ๆ เพื่อเข้าถึงไฟล์ไม่ว่าด้วยวิธีใด
อ่านเพิ่มเติม: https://security.appspot.com/vsftpd/vsftpd_conf.html
anon_umask
local_umask=002
อาจไม่ให้ผลลัพธ์ที่คาดหวัง - คุณใช้คำนำหน้า '0':local_umask=0002
(ดูman vsftpd.conf
)