CIFS share: ไฟล์ที่ล็อคด้วย VIM แต่ไม่ใช่กับ Nano


0

ฉันมีส่วนแบ่งที่ต่างกันระหว่างระบบ Linux และ Windows ที่โฮสต์บน NetApp บน Linux ฉันเมานต์การแชร์ด้วยตัวเลือกเหล่านี้:

mount.cifs -o username=`logname`,dom=DOMAIN,cifsacl,multiuser,user_xattr,sec=krb5,iocharset=utf8,noserverino,mapchars //host/share /home/`logname`/mnt

สิทธิ์ทั้งหมด (ตั้งค่าจาก Windows) ได้รับเกียรติอย่างถูกต้อง อย่างไรก็ตามมีพฤติกรรมแปลก ๆ :

หากผู้ใช้เปิดไฟล์ที่เขาสร้างขึ้นบน Windows (หรือสำเนา) ด้วยvimหรือviไฟล์นั้นจะถูกเปิดในreadonlyโหมด ถ้าเขาปรับเปลี่ยนและเขียนมันด้วย:w!, ไฟล์ที่ได้รับการล็อคและไม่สามารถอ่านได้อีกต่อไปได้โดยผู้ดูแลระบบหรือราก ( permission denied) สามารถลบได้โดยหนึ่งในนั้น Gedit เปิดไฟล์ดังกล่าวในลักษณะเดียวกัน: อ่านอย่างเดียว

อย่างไรก็ตามเมื่อไฟล์ดังกล่าวถูกเปิดด้วยไฟล์จะnanoถูกกำหนด[converted from DOS format]และเมื่อถูกบันทึกไฟล์จะถูกแฟล็[dos format]ก ไฟล์ถูกเขียนและไม่มีปัญหาเกิดขึ้นเลย

คุณมีความคิดใด ๆ ว่าทำไมมันถึงเป็นเช่นนั้น

แก้ไข: ฉันพยายามปิดการสำรองข้อมูลและสลับไฟล์/etc/vimrcด้วยตัวเลือกเหล่านี้แล้ว:

set nobackup
set nowritebackup
set noswapfile

พยายาม:w! ++ff=dosและ:w! ++ff=unixไม่ประสบความสำเร็จ


ฉันสงสัยว่านี่เป็นผลข้างเคียงของวิธีที่ Vim จัดการกับ "การเขียนทับ" ไฟล์ จริงๆแล้วมันจะย้ายไฟล์ไปข้าง ๆ และเขียนไฟล์ใหม่ในขณะที่พยายามรักษาสิทธิ์ของระบบปฏิบัติการ ลองปิดตัวเลือก 'writebackup' และดูว่าปัญหาหายไปหรือไม่
Heptite

ฉันได้ทำไปแล้วฉันจะแก้ไขโพสต์เริ่มต้นเพื่อให้แม่นยำ ในตอนท้ายของ "/ etc / vimrc" ของฉันฉันมีตัวเลือกเหล่านี้: set nobackup, set nowritebackup, set noswapfile พฤติกรรมเดียวกัน ...
NdFeB

คุณตรวจสอบการอนุญาตไฟล์จริงก่อนและหลัง?
เซท

การแชร์เป็นสิทธิ์แบบ NTFS จาก NetApp และการเข้าถึงที่ได้รับจาก TGS ไฟล์ที่สร้างโดย Windows ทั้งหมดดูเหมือนจะเป็นรูท: root 000 แต่สิทธิ์ที่ตั้งไว้ใน Windows ยังคงได้รับการยกย่องก็จะมองไม่เห็น ใช่แล้วฉันมั่นใจในการอนุญาต แต่ไม่ได้แสดงใน Linux เท่านั้นที่ได้รับเกียรติ ฉันหมายความว่าไม่มีปัญหากับ nano เฉพาะกับ vi และ vim แก้ไข: ฉันจะตรวจสอบจาก Windows ก่อนและหลังจากนั้นฉันโพสต์อีกครั้ง
NdFeB

ตกลงแน่นอนสิทธิ์ได้รับการเขียนทับ คำอธิบาย: FileA สามารถเขียนได้โดย "Domain Admins" และ "GroupA" FileA ถูกคัดลอกและตั้งชื่อ FileB FileB มี ACL เดียวกัน ฉันไม่สามารถ (ฉันเพิ่งค้นพบว่า) เขียนทับ FileB ด้วย nano และฉันสามารถเขียนทับมันด้วย vi / vim ด้วย: w! หากทำเช่นนั้นจะเป็นการเปลี่ยน ACL ให้กับผู้ใช้ที่แก้ไข + กลุ่ม "ผู้ใช้ทั้งหมด" และ "ผู้ใช้โดเมน" พวกเขาทั้งหมดมีการทำเครื่องหมายเฉพาะคุณลักษณะ: "อ่านคุณสมบัติ", "อ่านคุณสมบัติอ่าน" และ "อ่านการอนุญาต" 3 รายการสุดท้ายไม่เป็นเกียรติไม่ว่าจะด้วย Windows หรือ Linux: ไฟล์ไม่สามารถแตะต้องได้ยกเว้นว่าจะถูกลบโดยผู้ดูแลระบบ
NdFeB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.