เกิดข้อผิดพลาดเมื่อฉันพยายามเชื่อมต่อ SSH:
$ ssh -p 22 www-data@x.x.x.x
This account is currently not available
เกิดข้อผิดพลาดเมื่อฉันพยายามเชื่อมต่อ SSH:
$ ssh -p 22 www-data@x.x.x.x
This account is currently not available
คำตอบ:
คุณได้รับThis account is currently not available.
ข้อผิดพลาดเนื่องจากมีการwww-data
ตั้งค่าเชลล์สำหรับผู้ใช้/usr/sbin/nologin
และเป็นเหตุผลที่ดีมาก คุณไม่ควรเข้าสู่ระบบเนื่องจากwww-data
เป็นผู้ใช้ / กลุ่มพิเศษที่ใช้โดยเว็บเซิร์ฟเวอร์ไม่ใช่สำหรับการใช้งานเชลล์ปกติ
แก้ไข : มันเป็นความคิดที่ดีโดยเฉพาะอย่างยิ่งที่จะให้สิทธิในการsudo
www-data
หาก Apache ตั้งใจให้ทำงานด้วยการอนุญาตรูทจะไม่มีกลุ่มเป็นของตัวเอง ด้วยการทำเช่นนี้คุณกำลังสร้างช่องโหว่ความปลอดภัยขนาดใหญ่ คุณได้รับการเตือน
root
หรือเพิ่มเชลล์การเข้าสู่ระบบwww-data
แต่นั่นก็เหมือนกับการเปิดขวดไวน์โดยการแตกขวดเพราะคุณขี้เกียจและประมาทเกินกว่าที่จะใช้สกรูจุก
ในขณะที่ฉันเห็นด้วยกับคนอื่น ๆ ที่อนุญาตให้เข้าสู่ระบบผ่าน SSH ผ่านผู้ใช้ข้อมูล www- เป็นความคิดที่ไม่ดีเมื่อคุณเข้าสู่ระบบด้วยผู้ใช้ปกติมันอาจมีประโยชน์ในการเรียกใช้หลายคำสั่งพร้อมกันกับชุดสิทธิ์ของ www- ผู้ใช้ข้อมูล ในกรณีนั้นสามารถรันได้
sudo su -l www-data -s /bin/bash
และคุณจะสามารถเข้าถึงไฟล์ของคุณในฐานะผู้ใช้ www-data
-s /bin/bash
คำถามแรกที่ฉันต้องถามคือคุณพยายามทำอะไรให้สำเร็จ
kraxor ถูกต้อง 100% คุณไม่ควร ssh เข้าสู่เซิร์ฟเวอร์ของคุณโดยใช้ผู้ใช้ Apache / Nginx ของคุณ การทำเช่นนี้เชิญแฮ็กเกอร์ทุกคนที่มีเซลล์สมองครึ่งเซลล์ลงในเซิร์ฟเวอร์ของคุณ
หากคุณต้องการเรียกใช้สคริปต์หรือโปรแกรมบางอย่างในฐานะผู้ใช้นั้นคุณสามารถลองsudo -u www-data yourscript
หรือคุณสามารถชั่วคราวchown
ไฟล์ให้กับผู้ใช้ที่มีสิทธิ์เข้าสู่ระบบ เป็นเพียงความคิดที่ไม่ดีที่แตกต่างกันเพื่อให้บัญชีนี้สามารถเข้าถึงได้
su -
มันไม่ทำงานสำหรับบัญชีที่ปิดใช้งานการเข้าสู่ระบบ