เมานต์ cifs Network Drive: เขียนสิทธิ์และ chown


99

ฉันมีสิทธิ์เข้าถึงไดรฟ์เครือข่าย cifs เมื่อฉันติดตั้งใต้เครื่อง OSX ฉันสามารถอ่านและเขียนจากและไปได้

เมื่อฉันติดตั้งไดรฟ์ใน Ubuntu โดยใช้:

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

ฉันไม่สามารถเขียนไปยังไดรฟ์เครือข่ายได้ แต่ฉันสามารถอ่านได้ ฉันได้ตรวจสอบสิทธิ์และเจ้าของโฟลเดอร์เมานท์แล้วพวกเขาดูเหมือน:

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder

ฉันไม่สามารถเปลี่ยนเจ้าของได้เพราะฉันได้รับข้อผิดพลาด:

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory

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

ฉันควรทำอย่างไรเพื่อเปิดใช้งานสิทธิ์การเขียนของฉัน


ระบบไฟล์มีการระบุไว้ใน / etc / fstab หรือไม่? ถ้าเป็นเช่นนั้นมีรายการอะไรบ้าง?
เจนนี่ D

3
นอกจากนี้คุณยังสามารถใช้nopermภูเขาตัวเลือกที่ระบุไว้ในทำนองเดียวกันในคำตอบของฉันคำถามนี้: unix.stackexchange.com/a/375523/16287 สิ่งนี้จะทำให้ผู้ใช้ทุกคนสามารถอ่านและเขียนการเข้าถึง CIFS mount
Daniel

คำตอบ:


137

คุณกำลังเมาท์การแชร์ CIFS ในฐานะรูท (เพราะคุณใช้sudo) ดังนั้นคุณจึงไม่สามารถเขียนในฐานะผู้ใช้ปกติได้ หากการแจกจ่าย Linux และเคอร์เนลของคุณเร็วพอที่คุณสามารถเชื่อมต่อเครือข่ายร่วมกันในฐานะผู้ใช้ปกติ (แต่ภายใต้โฟลเดอร์ที่ผู้ใช้เป็นเจ้าของ) คุณจะมีข้อมูลประจำตัวที่เหมาะสมในการเขียนไฟล์ (เช่นติดโฟลเดอร์ที่ใช้ร่วมกัน ไดเรกทอรีบ้านเช่นเป็นต้น$HOME/netshare/เห็นได้ชัดว่าคุณจะต้องสร้างโฟลเดอร์ก่อนทำการติดตั้ง)

อีกทางเลือกหนึ่งคือการระบุผู้ใช้และ ID กลุ่มที่ควรใช้เครือข่ายที่แบ่งใช้ซึ่งจะอนุญาตให้ผู้ใช้นั้นและกลุ่มที่อาจจะเขียนลงในการแชร์ เพิ่มตัวเลือกต่อไปนี้เพื่อเมานต์ของคุณ : uid=<user>,gid=<group>และแทนที่<user>และ<group>ตามลำดับโดยผู้ใช้และกลุ่มเริ่มต้นของคุณซึ่งคุณสามารถค้นหาโดยอัตโนมัติด้วยidคำสั่ง

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

หากเซิร์ฟเวอร์กำลังส่งข้อมูลการเป็นเจ้าของคุณอาจต้องเพิ่มforceuidและforcegidตัวเลือก

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu

มันใช้งานได้สำหรับฉัน! domainแต่เราควรเพิ่มว่าถ้าโฟลเดอร์ที่ใช้ร่วมกันอยู่ในคอมพิวเตอร์ที่มีประสิทธิภาพเข้าสู่ระบบคุณควรเพิ่มตัวเลือก สิ่งนี้: sudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntuจริง ๆ แล้วโดเมนสามารถไปที่ตัวเลือก "ชื่อผู้ใช้" แต่จำไว้ว่าคุณต้องใช้/แทน`, like ชื่อผู้ใช้ = DOMAIN / user.name`
João Portela

ใช่ที่ถูกต้อง. :-) หนึ่งอาจต้องระบุโดเมนหรือเวิร์กกรุ๊ป (สำหรับ Windows รุ่นเก่า) ผ่านตัวเลือก "domain =" หรือผ่านชื่อผู้ใช้นั่นเป็นจุดที่ดี และบางครั้งก็จำเป็นต้องระบุรูปแบบการเข้ารหัสหรือรุ่น CIFS ที่จะใช้ แต่ทั้งหมดนี้ไม่ได้เป็นส่วนหนึ่งของคำถามนี้ดังนั้นฉันจึงทิ้งมันไว้ :-)
Huygens

2
นี่คือสิ่งที่ฉันต้องการ ฉันมีรายการใน / etc / fstab เพื่อติดตั้งไดรฟ์เครือข่ายโดยอัตโนมัติเมื่อเริ่มต้น ฉันไม่สามารถเขียนไปที่เมานท์ได้ดังนั้นฉันจึงเพิ่ม uid = <myUserID> สำหรับบรรทัดที่มีลักษณะดังนี้://192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
James

5
@ 71GA usernameเป็นรีโมตล็อกอินที่ใช้สำหรับการพิสูจน์ตัวตน uidคือรหัสผู้ใช้ท้องถิ่นที่คุณต้องการที่จะนอนหลับทุกไฟล์ / โฟลเดอร์ ดังนั้นชื่อผู้ใช้จะถูกแยกออกจาก uid ชื่อผู้ใช้คือการเข้าสู่ระบบของผู้ใช้ระยะไกลในขณะที่ uid เป็นรหัสผู้ใช้ท้องถิ่นของคุณ โปรดทราบว่ามันอาจเป็นสิ่งเดียวกันหากเซิร์ฟเวอร์ของคุณคือแซมบ้าและคุณใช้ LDAP หรือบัญชีรวมศูนย์อื่น ๆ ทั้งลูกค้าและเซิร์ฟเวอร์ :-)
Huygens

1
@ คำถามที่ดีตาก ดูคำตอบที่แก้ไขแล้ว
Gilles

20

ฉันทดสอบคำสั่งต่อไปนี้สำเร็จ:

sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win

19
ใช้ "id -u <user>" และ "id -g <user> เพื่อรับ uid และ gid ตามลำดับ
nvd

3
โปรดทราบว่าคุณสามารถใช้ชื่อผู้ใช้โดยตรงตามที่ระบุไว้ในman mount.cifs
jstricker

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