ฉันจะสร้างผู้ใช้ที่มีการเข้าถึง ftp ระยะไกลบนเซิร์ฟเวอร์ Linux ได้อย่างไร


11

ฉันใช้เซิร์ฟเวอร์ Ubuntu 10.04 LTS และฉันต้องการสร้างผู้ใช้ที่สามารถเข้าถึงเซิร์ฟเวอร์ได้จาก FTP เท่านั้น

สิ่งที่ฉันทำจนถึงตอนนี้คือ:

  • ติดตั้ง vsftpd
  • สร้างผู้ใช้ใหม่โดยตั้งค่าล็อกอินเชลล์เริ่มต้นเป็น /bin/false

ผู้ใช้ปกติบนเซิร์ฟเวอร์ทุกคนสามารถเข้าถึงโฟลเดอร์เริ่มต้นของพวกเขาผ่านทาง ftp แต่ผู้ใช้ที่ถูกลบการเข้าถึงเปลือกระยะไกลโดยการตั้งค่า/bin/falseเป็นไม่สามารถเข้าสู่ระบบโดย ftp

ฉันไม่เข้าใจว่าการเข้าถึงเชลล์มีผลกับvsftpdเซิร์ฟเวอร์อย่างไร ฉันจะเปิดใช้งานการเข้าถึง ftp โดยไม่เปิดใช้งานเชลล์อีกครั้งได้อย่างไร

อัปเดต:
ฉันพบการอ้างอิงนี้ที่ระบุว่าฉันควรใช้/sbin/nologin(ดูเหมือนว่าจะอยู่/usr/sbin/nologinใน Ubuntu) และไม่ควรส่งผลกระทบต่อการเข้าถึง ftp แต่ไม่สามารถใช้งานได้ในกรณีของฉัน


อาจลองตั้งค่าเป็น / bin / true
balki

ฉันไม่เคยใช้ vsftpd แต่ฉันพบวิธีแก้ปัญหาที่คุณต้องการ ฉันไม่รู้ว่ามันเป็นทางออกที่ดีที่สุดหรือไม่ (ฉันคิดว่ามันควรจะใช้ได้ แต่อาจมีบางอย่างที่ดีกว่านี้)
pbm

เพิ่งลอง / bin / true และมันไม่ทำงาน
jmbouffard

ขอบคุณ @pbm แต่มันไม่ใช่สิ่งที่ฉันกำลังมองหาเพราะฉันต้องการใช้ผู้ใช้จริง
jmbouffard

คำตอบ:


12

ฉันไม่รู้ว่าเป็นการดีหรือไม่ที่จะตอบคำถามของฉันเอง แต่ฉันพบวิธีแก้ปัญหาง่ายๆที่เปิดใช้งานการเข้าสู่ระบบ ftp

ฉันต้องการเพิ่มบรรทัด

/ usr / sbin / nologin

ไปที่ไฟล์ / etc / shells ทันทีหลังจากการปรับเปลี่ยนเซิร์ฟเวอร์ ftp เริ่มยอมรับการเข้าสู่ระบบจากผู้ใช้ที่เชลล์ตั้งค่า / usr / sbin / nologin ดังนั้นพวกเขาไม่สามารถเข้าสู่ระบบผ่าน ssh แต่ทำงานได้กับ ftp อย่างที่ฉันต้องการ

ขอบคุณสำหรับความคิดเห็นที่เป็นประโยชน์ของคุณ


ฉันอ่านบางที่ไม่กี่วันที่ผ่านมาว่าจะเปิดช่องโหว่ความปลอดภัย มีผู้เชี่ยวชาญคนใดที่สามารถชี้แจงเรื่องนี้ให้ฉันได้
Navneil

0

ตั้งค่าผู้ใช้เชลล์กลับเป็น /bin/false (หรือบางเปลือกที่ไม่ถูกต้องอื่น ๆ ) แล้วตั้งใน/bin/false/etc/shells

ฉันเห็นที่สำคัญปัญหาด้านความปลอดภัยที่มีการตั้งค่าเข้า/usr/sbin/nologin /etc/shellsคุณให้สิทธิ์ FTP (และอาจเป็นอย่างอื่น) ในการเข้าถึง daemons และการเข้าสู่ระบบทั้งหมดที่มี/usr/sbin/nologinเป็นเชลล์


1
ได้อย่างไร nologin มีอยู่เพื่ออนุญาต, nologin - ด้วยข้อความที่กำหนดเองซึ่งเป็นทางเลือก/etc/nologin.txtเพื่อให้ผู้ใช้ ftp สามารถรู้ว่าเป็น ftp เท่านั้นหรือบางอย่าง
Dani_l

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