วิธีการ sshfs เข้าสู่ระบบในฐานะผู้ใช้ sudo


1

sshfsฉันต้องการที่จะติดเป็นทรัพยากรที่ใช้ร่วมกันภายนอกโดยใช้ ฉันมีการตั้งค่าการรับรองความถูกต้อง SSH ระหว่างพีซีของฉันและเซิร์ฟเวอร์โดยใช้ผู้ใช้โลคัล (ไม่ใช่รูท) และใช้งานได้อย่างมีเสน่ห์โดยใช้คำสั่งต่อไปนี้:

sshfs rperez@<server_ip>:/home/rperez/shared -p 2051 ~/shared -o auto_cache,reconnect

ตอนนี้ผมจำเป็นต้องใช้ทรัพยากรที่ติดกับภาชนะหางเป็นปริมาณ แต่เห็นได้ชัดว่าsudoเป็นไปไม่ได้โดยไม่ต้องเรียกใช้คำสั่งดังกล่าวข้างต้นโดยใช้ นี่เป็นเอาต์พุตสำหรับรันคำสั่งด้านบนsudoดังนี้:

$ sudo sshfs rperez@<server_ip>:/home/rperez/shared -p 2051 ~/shared -o auto_cache,reconnect
[sudo] password for rperez: 
fuse: bad mount point `/home/rperez/shared': Transport endpoint is not connected

และจุดที่เมานท์จะเปลี่ยนเป็นสีแดงโดย?เป็นอักขระตัวแรกและไม่สามารถเข้าถึงความหมายได้?shared(สีแดงเพราะฉันเห็นจาก mc`

ฉันได้ลองตั้งค่าการรับรองความถูกต้อง SSH ด้วยsudoแต่ดูเหมือนว่าเป็นไปไม่ได้ตามคำตอบในโพสต์นี้ ฉันได้อ่านหัวข้อเกี่ยวกับหัวข้อนี้ ( 3 , 4 , 5 , 6 ) แล้ว แต่ไม่สามารถใช้งานได้

คำแนะนำใด ๆ? สิ่งที่ฉันหายไปที่นี่

อัปเดต :

ทำตามคำแนะนำจาก @Xaloroues ฉันได้ใช้คำสั่งต่อไปนี้:

$ sudo mkdir shared
$ sudo sshfs rperez@<server_ip>:/home/rperez/shared -p 2051 /mnt/shared -o auto_cache,reconnect
rperez@<server_ip> password: 

คำสั่ง mount ใช้งานได้ แต่ฉันไม่สามารถเข้าถึงทรัพยากรที่เมาท์ได้ ฉันได้รันคำสั่งต่อไปนี้และดูผลลัพธ์:

$ sudo stat /mnt/shared
[sudo] password for rperez: 
  File: 'shared'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 32h/50d Inode: 1           Links: 1
Access: (0775/drwxrwxr-x)  Uid: ( 1041/ UNKNOWN)   Gid: ( 1038/ UNKNOWN)
Access: 2016-09-30 10:27:28.000000000 -0400
Modify: 2016-09-21 15:20:20.000000000 -0400
Change: 2016-09-21 15:20:20.000000000 -0400
 Birth: -

ดูรูปนี้ด้วยว่าโฟลเดอร์ที่ติดตั้งมีลักษณะอย่างไร:

ป้อนคำอธิบายรูปภาพที่นี่

สิทธิ์ก่อนที่จะเชื่อมต่อทรัพยากรที่ใช้ร่วมกันดูเหมือนจะไม่เป็นไร:

$ ls -la /mnt/
total 16
drwxr-xr-x.  4 root root 4096 Sep 30 10:35 .
dr-xr-xr-x. 18 root root 4096 Sep 30 08:10 ..
drwxr-xr-x   2 root root 4096 Sep 30 10:35 shared

แล้วมีอะไรผิดปกติ?


ด้วยสิทธิ์ 755 ทุกคนควรอ่าน/mnt/sharedได้ หลังจากเมานต์ผลลัพธ์ของคำสั่งเดียวกันคืออะไร ( ls -ld /mnt) 'UNKNOWN' ใน UID และ GID ในstatผลลัพธ์ของคำสั่งเนื่องจาก NFS ใช้ UID และ GID เพื่อกำหนดความเป็นเจ้าของและความเป็นสมาชิกกลุ่มและ UID และ GID จะไม่ซิงค์โดยอัตโนมัติระหว่างระบบ มีวิธีการซิงค์หลายวิธีด้วยระดับความซับซ้อนที่แตกต่างกันไม่มีทั้งง่ายและอัตโนมัติ
Xalorous

คำตอบ:


0

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


ไม่เป็นความจริงเลยและมันก็เป็นอย่างอื่นเพราะมันไม่ทำงานสำหรับฉันตรวจสอบการแก้ไขของฉันใน OP
ReynierPM

เข้าสู่ระบบในฐานะผู้ใช้ sudo บนกล่อง Linux ( someuserสำหรับตัวอย่างของเรา) เรียกใช้sudo su(โดยไม่ใช้ปกติ -) ผลลัพธ์คือคุณสลับเป็นรูท แต่ไม่เปลี่ยนสภาวะแวดล้อม คุณยังอยู่ใน / user / someuser pwd ตอนนี้ทำงานlsและบอกฉันอีกครั้งว่าฉันผิด ถ้าคุณไม่ได้แก้ไขการอนุญาตหรือความเป็นเจ้าของ / ผู้ใช้รูทจะไม่สามารถเข้าไปในโฟลเดอร์ผู้ใช้แต่ละคนในฐานะรูท รูทสามารถเปลี่ยนเป็นผู้ใช้จากนั้นเข้าไปรูทสามารถเป็นเจ้าของได้แล้วเข้าไปรูทสามารถเปลี่ยนการอนุญาตเป็น + r ที่บิตอื่นแล้วเข้าไปได้ แต่รากไม่สามารถอ่านโฟลเดอร์บ้านของผู้ใช้โดยตรงโดยไม่มีการดัดแปลง
Xalorous

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