Linux cp การอนุญาตถูกปฏิเสธบนระบบไฟล์ ntfs


0

ใครช่วยกรุณาอธิบายว่าทำไมฉันถึงได้รับข้อผิดพลาดที่อนุญาตนี้ ฉันเป็นผู้ใช้เป็นการส่วนตัวgและตามที่ ls แสดงว่าฉันได้อ่านและเขียนสิทธิ์สำหรับทั้งแหล่งที่มาและปลายทาง ระบบของฉันคือSlackware 14และอุปกรณ์ที่ถูกเขียนขึ้นเพื่อเป็น eReader ntfs-3g file systemของฉันเป็น

ฉันมีระบบไฟล์ ntfs อื่น ๆ ไดรฟ์นิ้วหัวแม่มือ HDDs ภายนอก ฯลฯ ซึ่งฉันสามารถเขียนเป็นผู้ใช้ ไม่มีความแตกต่างที่สังเกตได้ในการตั้งค่าการอนุญาตสำหรับสิ่งใด ๆ เป็น ntfs พวกเขาทั้งหมดเป็นเจ้าของโดย root ของกลุ่ม root มันเป็นเพียงกับผู้อ่านว่าฉันมีปัญหานี้ (แม้ว่าฉันสามารถเขียนถึงมันในฐานะที่เป็นราก) ดังนั้นฉันเชื่อว่าปัญหานี้เกิดขึ้นกับอุปกรณ์นี้โดยเฉพาะ แต่ฉันก็ไม่รู้ว่ามันจะเป็นอะไร

~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt /500gb/database/media/  
cp: cannot create regular file '/500gb/database/media/Wyndham-TheMidwichCuckoos.txt': Permission denied  
~ $ ls -l /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt                         
-rw-r--r-- 1 g users 380183 Aug 10 11:04 /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt  
~ $ ls -l /500gb/database/  
total 32  
drwxr-xr-x 2 root root 8192 Aug 10 11:23 cache/  
drwxr-xr-x 3 root root 8192 Aug  5 13:26 layout/  
drwxr-xr-x 2 root root 8192 Aug  9 14:07 media/  
drwxr-xr-x 2 root root 8192 Aug  5 17:28 sync/  
~ $

ereader คือ fat32 ฉันคิดว่ามันเป็น ntfs
~ $ mount
/ dev / sda3 บน / ประเภท ext2 (rw)
proc บน / proc ประเภท proc (rw)
sysfs บน / sys ประเภท sysfs (rw)
/ dev / sda4 บน / home type ext2 (rw)
tmpfs บน / dev / shm ประเภท tmpfs (rw)
/ dev / sda1 บน / winxp ประเภท fuseblk (rw, allow_other, blksize = 4096, default_permissions)
/ dev / sdb บน / 500gb ประเภท vfat (rw)
/ dev / sdd1 บน / 3tb ประเภท fuseblk (rw, allow_other, blksize = 4096)
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 3tb
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 500gb
cp: ไม่สามารถสร้างไฟล์ปกติ '/500gb/Wyndham-TheMidwichCuckoos.txt': การอนุญาตถูกปฏิเสธ
~ $

ฉันไม่สามารถเปลี่ยนการอนุญาตบน ereader นี้ไม่ว่าจะเป็น root หรือในฐานะผู้ใช้
ในฐานะ root ดูเหมือนว่าจะทำงานได้ แต่ไม่มีอะไรเปลี่ยนแปลง
/ home / g # chmod 777 -R / 500gb / ฐานข้อมูล
/ home / g # ls - l / 500gb / ฐานข้อมูล
ทั้งหมด 32
drwxr-xr-x 2 รูทราก 8192 ส.ค. 10 11:23 แคช
drwxr-xr-x 3 รูทราก 8192 ส.ค. 5 ส.ค. 13:26 โครงร่าง
drwxr-xr-x 2 รูทราก 8192 14 สิงหาคม: 07 สื่อ
drwxr-xr-x 2 รูทราก 8192 5 ส.ค. 17:28 ซิงค์

ในฐานะผู้ใช้ chmod ถูกปฏิเสธดังนั้น
~ $ chmod 777 -R / 500gb / ฐานข้อมูล
chmod: การเปลี่ยนการอนุญาตของ '/ 500gb / ฐานข้อมูล': การดำเนินการไม่ได้รับอนุญาต
chmod: การเปลี่ยนการอนุญาตของ / 500gb / ฐานข้อมูล / แคช ': การดำเนินการไม่ได้รับอนุญาต
chmod: การเปลี่ยนการอนุญาตของ '/500gb/database/cache/cacheExt.xml': การดำเนินการไม่ได้รับอนุญาต
chmod: การเปลี่ยนการอนุญาตของ '/500gb/database/cache/media.xml': การดำเนินการที่ไม่ได้รับอนุญาต
chmod: การเปลี่ยนสิทธิ์ของ '/ 500gb /database/cache/cacheExtSchema_1.1.xsb ': การดำเนินการไม่ได้รับอนุญาต
chmod: การเปลี่ยนสิทธิ์ของ' / 500gb / ฐานข้อมูล / สื่อ ': การดำเนินการไม่ได้รับอนุญาต
chmod: การเปลี่ยนสิทธิ์ของ' /500gb/database/media/Stevenson-TreasureIsland.txt ': ไม่อนุญาตให้ใช้งาน
chmod: การเปลี่ยนการอนุญาตของ '/500gb/database/media/Rendell-WolftotheSlaughter.txt': ไม่อนุญาตให้ใช้งาน

กระบวนการนี้ใช้กลอุบายของฉันด้วย Miroslav Koskar
/ home / g # mount | grep sdb
/ home / g # mount / dev / sdb -o uid = 1,000, gid = 100 / 500gb
/ home / g # mount | grep sdb
/ dev / sdb บน / 500gb ประเภท vfat (rw, uid = 1,000, gid = 100)
/ home / g # ls -l / 500gb / ฐานข้อมูล
ทั้งหมด 32
drwxr-xr-x ผู้ใช้ 2 คน 8192 ส.ค. 10 11:23 แคช
drwxr-xr-x ผู้ใช้ 3 กรัม 8192 ส.ค. 5 13:26 โครงร่าง
drwxr-xr-x ผู้ใช้ 2 กรัม 8192 ส.ค. 10 12:51 สื่อ
drwxr-xr-x ผู้ใช้ 2 กรัม 8192 ส.ค. 5 17:28 ซิงค์
/ home / g #
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 500gb / ฐานข้อมูล / สื่อ
~ $


คุณเห็นสิ่งนี้ไหม อาจเป็นเรื่องเกี่ยวกับปัญหาของคุณ
VL-80

ขออภัยฉันควรได้รับข้อมูลเพิ่มเติม (วรรค 2) ที่ฉันเพิ่งเพิ่มไปยังโพสต์ต้นฉบับ ฉันสามารถเขียนเป็น root และการอนุญาตสิทธิ์ความเป็นเจ้าของและอื่น ๆ เหมือนกับอุปกรณ์ ntfs อื่น ๆ ที่ฉันสามารถเขียนในฐานะผู้ใช้
user985675

Mount ereader และหนึ่งใน "ระบบไฟล์ NTFS อื่น ๆ " ของคุณพิมพ์mountและโพสต์เอาต์พุตจากนั้น นอกจากนี้โปรดตรวจสอบว่าในอุปกรณ์อื่น ๆ คุณ (เป็นผู้ใช้ที่ไม่ใช่ราก) สามารถสร้างไฟล์ใหม่ในไดเรกทอรีที่เป็นเจ้าของroot และมีโหมด 755 (rwxr-xr-x )
สกอตต์

เพิ่มที่ส่วนท้ายของโพสต์ดั้งเดิม
user985675

คำตอบ:


1

สำหรับฉันดูเหมือนว่าสิทธิ์ไม่ได้ตั้งอย่างถูกต้อง

  1. คุณเป็นผู้ใช้gและสามารถอ่านไฟล์ได้ = ตกลง

  2. แต่คุณไม่สามารถสร้างไฟล์ในปลายทางได้เนื่องจากไดเรกทอรีmediaไม่สามารถเขียนได้โดยคุณrootสามารถทำได้

ดังนั้นคัดลอกrootหรือเปลี่ยนสิทธิ์บนเป้าหมายเพื่อให้คุณมีสิทธิ์เขียนในmediaไดเรกทอรี


ตามที่ระบุไว้เป็นไปไม่ได้ที่จะเปลี่ยนการอนุญาตหรือความเป็นเจ้าของในระบบไฟล์ NTFS ที่เมาท์ ในกรณีนั้นมีความเป็นไปได้ที่จะใช้ตัวเลือกการเมาท์ที่เหมาะสม ตัดตอนมาจากร้องman mount

uid = value, gid = value และ umask = value

ตั้งค่าการอนุญาตไฟล์บนระบบไฟล์ ค่า umask จะได้รับในแปด โดยค่าเริ่มต้นไฟล์จะถูกครอบครองโดย root และไม่สามารถอ่านได้โดยบุคคลอื่น


ตัวอย่าง: (สำหรับ/dev/sdc1ระบบไฟล์ FAT32)

ตรวจสอบว่าอุปกรณ์ไม่ได้ถูกเมาท์ (ต่อไปนี้ควรส่งคืนโดยไม่มีเอาต์พุต)

$ mount | grep sdc1

เมานต์อุปกรณ์ด้วยuidและgidชุดตัวเลือก

$ sudo mount /dev/sdc1 -o uid=1000,gid=1000 /mnt

ตรวจสอบจุดเมานท์

$ mount | grep sdc1

/dev/sdc1 on /mnt type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

คุณไม่สามารถเปลี่ยนความเป็นเจ้าของหรือกลุ่มของระบบไฟล์ ntfs ซึ่งเป็น root: root เสมอ เท่าที่ฉันทราบสิทธิ์สามกลุ่มแรกที่แสดงโดย ls -l หมายถึงผู้ใช้ปัจจุบัน (ในกรณีนี้คือฉัน, g), กลุ่มที่สองให้ผู้ใช้อื่นทั้งหมดในกลุ่มเดียวกันและกลุ่มที่สามคือทั้งหมด กลุ่มอื่น ๆ ดังนั้นฉันมีสิทธิ์เขียนไปยังอุปกรณ์นี้
user985675

1
ดีสามแรกคือไม่ได้สำหรับผู้ใช้ในปัจจุบัน แต่สำหรับเจ้าของ ดังนั้นคุณไม่มีสิทธิ์ที่ถูกต้องและนั่นคือปัญหา สำหรับ NTFS ถูกต้องอาจเป็นปัญหาที่คุณไม่สามารถเปลี่ยนการอนุญาตในขณะที่เมาท์ ในกรณีนี้ฉันคิดว่าคุณสามารถระบุความเป็นเจ้าของด้วยตัวเลือกการเมานท์
Miroslav Koškár

ฉันขอโทษคุณถูกต้อง ไม่เพียงแค่นั้น ereader คือ fat32 มากกว่า ntfs อย่างที่ฉันคิดไว้และปัญหาดูเหมือนว่าฉันไม่สามารถเปลี่ยนการอนุญาตได้เลยไม่ว่าจะเป็น root หรือในฐานะผู้ใช้ ดูข้อมูลเพิ่มเติมที่เพิ่มในตอนท้ายของโพสต์ต้นฉบับ
985675

บางทีคุณควรตั้งค่าตัวเลือกการเมาท์ตามที่ระบุไว้ในคำตอบของฉันมันเหมือนกันสำหรับ NTFS และ FAT เช่นระบบไฟล์
Miroslav Koškár

แบบนี้? / home / g # mount -t vfat -O uid = 1,000, gid = 100, umask = 0755 / dev / sdb / 500gb / home / g # ls -l / 500gb / ฐานข้อมูลทั้งหมด 32 drwxr-xr-x 2 รูทราก 8192 10 ส.ค. 11:23 แคชรูต drwxr-xr-x 3 รูท 8192 ส.ค. 5 13:26 เลย์เอาต์ drwxr-xr-x 2 รูทราก 8192 ส.ค. 10 ส.ค. 10 12:51 สื่อ drwxr-xr-x 2 รูทราก 8192 สิงหาคม 5 17: 28 sync / home / g # chmod -R 777 / 500gb / ฐานข้อมูล / home / g # ls -l / 500gb / ฐานข้อมูลทั้งหมด 32 drwxr-xr-x 2 รูทราก 8192 10 ส.ค. 10 11:23 แคช drwxr-xr-x 3 รูต 8192 ส.ค. 5 13:26 เลย์เอาต์ drwxr-xr-x 2 รูทราก 8192 ส.ค. 10 12:51 สื่อเหมือนกันก่อนหน้านี้
user985675

0

mediaไดเรกทอรีเป็นเจ้าของโดยroot(กับกลุ่มของroot) และมีโหมด 755 จึงเป็นสิ่งที่สามารถเขียนได้เท่านั้นโดยเจ้าของ ( root) คุณกำลังพยายามสร้างไฟล์ในไดเรกทอรีนั้น (คุณไม่ได้เขียนทับไฟล์ที่มีอยู่ใช่ไหม?) ซึ่งถือว่าเป็นการเปลี่ยนแปลงของไดเรกทอรี rootและคุณไม่ได้ทำงานตามที่ นั่นอาจเป็นเหตุผลว่าทำไมคุณไม่ได้รับอนุญาต

ทั้งไดเรกทอรีให้กับตัวเอง (หรือเพื่อให้คุณสามารถเขียนไป) หรือเรียกใช้ภายใต้หรือchownmediachmodcpsusudo


นี่คือผลลัพธ์ของ chown บน / 500gb อย่างที่คุณเห็นมันทำให้การติดตั้ง / home / g # chmod 777 -R / 500gb / home / g # ls -l / 500gb / ฐานข้อมูล / รวม 32 drwxr-xr-x 2 root ราก 8192 10 สิงหาคม 11: 23 cache drwxr-xr-x 3 รูทราก 8192 ส.ค. 5 13:26 เลย์เอาต์ drwxr-xr-x 2 รูทราก 8192 ส.ค. 9 14:07 สื่อ drwxr-xr-x 2 รูทราก 8192 ส.ค. 5 17:28 ซิงค์ / home / g # ls -l / 500gb รวม 8 drwxr-xr-x 6 root root 8192 5 ส.ค. 17:28 ฐานข้อมูล / home / g #
user985675
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.