Score:0

Ubuntu 18.04 > VSFTTPd, PAM_MySQL :: วิธีตั้งค่าโฮมไดเร็กตอรี่ของผู้ใช้ตามคอลัมน์ตาราง?

ธง cw

ก่อนอื่น ขอขอบคุณที่สละเวลาดูคำถามโง่ๆ ของฉัน :) ฉันมีเซิร์ฟเวอร์ที่ใช้ Ubuntu 18.04 LTS และฉันต้องอนุญาตให้ผู้ใช้หลายคนเชื่อมต่อผ่าน ftp ในโฮมไดเร็กทอรีแยกต่างหากสำหรับวัตถุประสงค์ของ Web FTP และฉันพบปัญหาที่ไม่สามารถหาคำตอบได้หลังจากผ่านไปหนึ่งวัน ค้นหา ฉันจึงโยนผ้าเช็ดตัวขอความช่วยเหลือ

ฉันมีโต๊ะ เอฟทีพี ในฐานข้อมูลของฉัน และภายในมี 4 คอลัมน์ รหัส, ชื่อผู้ใช้, ผ่าน, และ โดเมน, โดเมน เป็นจุดสนใจของคำถามของฉัน ฉันได้รับ PAM_MySQL เพื่อให้ทำงานได้อย่างถูกต้อง แต่ตอนนี้ฉันต้องสามารถตั้งชื่อผู้ใช้แยกจากโฮมไดเร็กทอรีได้ โดเมน คอลัมน์. ดูสิ ปัญหาคือทุกที่ที่ฉันเห็น VSFTTPd ใช้ชื่อผู้ใช้ของผู้ใช้เสมือนสำหรับโฮมไดเร็กตอรี่ซึ่งใช้ได้ในสถานการณ์ส่วนใหญ่ แต่ฉันต้องมีผู้ใช้ได้ ผู้ใช้1 สามารถเข้าถึงโดเมน ทดสอบ mydomain.comแต่ฉันยังต้องการ ผู้ใช้3 สามารถเข้าถึงได้ ทดสอบ mydomain.com เช่นกัน เหตุใดฉันจึงไม่สามารถตั้งชื่อผู้ใช้เป็นโดเมนและดำเนินการได้เนื่องจาก ผู้ใช้1 และ ผู้ใช้3 ทั้งคู่ต้องการรหัสผ่านแยกกัน

ฉันเคยเห็นเกี่ยวกับเรื่องนี้ คำถามเกี่ยวกับความผิดพลาดของเซิร์ฟเวอร์ เมื่อ 11 ปีก่อนที่บุคคลนี้พบคำตอบ ซึ่งรวมถึง inline MySQL ในไฟล์ /etc/vsftpd.conf อย่างไรก็ตาม เมื่อฉันลองวิธีแก้ปัญหา และป้อนข้อมูลรับรองฐานข้อมูลของฉัน ฉันพบว่าไคลเอ็นต์สามารถเข้าสู่ระบบได้ ได้สำเร็จ แต่ FileZilla บ่นเรื่องก ข้อผิดพลาด GnuTLS -15 ซึ่งจากประสบการณ์ของฉันหมายความว่าไม่ได้ตั้งค่าไดเร็กทอรีหลักและการเชื่อมต่อ FTP ไม่สามารถดำเนินการต่อได้ ซึ่งมันตลกเพราะเมื่อฉันเรียกใช้บนบรรทัดคำสั่ง ฉันได้รับผลลัพธ์ที่สะอาดโดยไม่มีการใส่สไตล์หรือคำเตือนใดๆ และมันควรจะส่งออกด้วยวิธีนั้นในไฟล์การกำหนดค่า แต่ด้วยเหตุผลบางอย่าง ก็แค่.. ไม่

นี่คือตัวอย่างโค้ดที่ฉันได้รับจากคำถาม Server Fault ใน vsftpd.conf ของฉันเอง:

``ส่งออก MYSQL_PWD=MYSQLPASSWORD; mysql -sN -uUSERNAME -h HOSTNAME DATABASE -e "เลือกโดเมนจาก DATABASE.accounts โดยที่ username='user1'"``

และนี่คือผลลัพธ์ในบรรทัดคำสั่ง:

/var/www/subdomains/test.mydomain.com

ฉันสามารถตั้งค่าด้วยตนเองในการกำหนดค่าและใช้งานได้ไม่มีปัญหา ดังนั้นฉันเดาว่าเป็นเพียงอินไลน์ MySQL

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

/var/log/vsftpd.log ไม่แสดงอะไรที่เป็นประโยชน์ เพียงแค่ว่าไคลเอ็นต์สามารถเข้าสู่ระบบได้ สมุดรายวันctl -xe แสดงสิ่งต่อไปนี้:

03 มิ.ย. 03:17:57 น. server-4 vsftpd[18039]: pam_unix(vsftpd:session): เซสชันเปิดสำหรับผู้ใช้ user1 โดย (uid=0)
Jun 03 03:17:57 server-4 vsftpd[18039]: pam_systemd(vsftpd:session): ไม่สามารถรับข้อมูลผู้ใช้
Jun 03 03:17:57 server-4 vsftpd[18039]: pam_systemd(vsftpd:session): ไม่สามารถรับข้อมูลผู้ใช้
03 มิ.ย. 03:17:57 น. เซิร์ฟเวอร์-4 pam-script[18039]: ไม่สามารถ stat /usr/share/libpam-script/pam_script_ses_close
03 มิ.ย. 03:17:57 น. server-4 vsftpd[18039]: pam_unix(vsftpd:session): ปิดเซสชันสำหรับผู้ใช้ user1

ฉันสามารถให้บันทึกที่คุณต้องการดังนั้นยิงและบางทีคุณอาจจะทำคะแนน!

ขอบคุณจริงๆ ฉันขอขอบคุณอย่างจริงใจที่คุณใช้เวลาของคุณกับปัญหาของฉัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา