ปัญหาสิทธิ์อนุญาตในโฟลเดอร์ / media / user ป้องกันไม่ให้ฉันเข้าถึงสื่อภายนอก


11

เมื่อฉันเสียบฮาร์ดไดรฟ์ภายนอกของฉันใส่แผ่นดีวีดีหรือลองดูสิ่งที่ฉันมีในไดรฟ์ USB ของฉันพฤติกรรมที่แปลกประหลาดคือผลลัพธ์ปกติ

ระบบไฟล์ติดตั้งได้ดี เมื่อฉันเข้าสู่ระบบในฐานะ root ผ่านsudo suฉันสามารถดูเนื้อหาของ/media/casper/externaldriveดีอย่างสมบูรณ์ อย่างไรก็ตามผู้ใช้ของฉันcasperไม่สามารถทำได้ Ubuntu ตอบกลับทุกการกระทำที่เกี่ยวข้องกับสถานที่Permission denied:

casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied

ฉันตัดสินใจที่จะขุดลงไปในสิทธิ์ (ปัญหา) ของ/mediaโฟลเดอร์ ในฐานะที่casperฉันเห็นต่อไปนี้:

casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x  4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x---  3 root root 4096 aug  3 21:02 casper/
lrwxrwxrwx  1 root root   45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx  1 root root   42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x  2 root root 4096 feb 29 23:56 home/

สิ่งที่ทำให้ฉันรู้สึกแย่คือมีการกล่าวtotal 16ขณะที่มีเพียง 6 รายชื่อเท่านั้น ดังนั้นผมจึงวิ่งคำสั่งอีกครั้ง rootแต่เป็น ผลที่ได้คือเหมือนกันแปลก (ใครสามารถสอนฉันเกี่ยวกับเรื่องนี้?)

ยังไงก็ตามสิ่งที่ทำให้ฉันรู้สึกแย่ยิ่งกว่านั้นคือ/media/casperไดเรกทอรีไม่ใช่ของฉันและฉันก็ไม่สามารถเข้าถึงได้ ฉันถูกล่อลวงให้chown -Rออกไปจาก Bazinkas แต่หลังจากที่ฉันได้รับการจับตัวเองฉันก็เริ่มทำบางอย่างเช่น "โฟลเดอร์ผู้ใช้สื่อที่ไม่ใช่ของฉันช่วยฉัน"

ใช้เวลาสักครู่ แต่ในที่สุดฉันก็สะดุดกับหัวข้อนี้ซึ่งผู้ใช้อธิบายวัตถุประสงค์ของ750 root:root /media/userโฟลเดอร์ ทำให้แน่ใจว่ามีเพียง root เท่านั้นที่สามารถเมานต์ดูและจัดการระบบไฟล์ที่นั่นซึ่งสิทธิ์แต่ละรายการจะเปลี่ยนเป็นผู้ใช้จริง

ดังนั้นหากข้อมูลของฉันถูกต้องการ/media/casper/externaldriveอนุญาตควรจะดีสำหรับฉัน ฉันตรวจสอบแล้ว

root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root   root   4096 aug  3 21:02 ./
drwxr-xr-x 4 root   root   4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug  3 20:20 externaldrive/

และนี่น่าจะเป็นอย่างนั้น

ดังนั้นนี่คือที่ฉันติดอยู่ ระบบไฟล์มีสิทธิ์สำหรับฉันตลอดทางผ่านแผนผังไดเรกทอรี แต่ฉันไม่สามารถเข้าถึงไฟล์เดียวได้ นี่เป็นสิ่งเดียวกันสำหรับซีดีและไดรฟ์ USB

ใครสามารถช่วยฉันเข้าถึงล้ำค่าของฉัน

โอ้และโดยวิธีการ กระทู้ดังกล่าวพูดถึง ACL ในเหล่า/media/userโฟลเดอร์ระบุโดยหลังจากสิทธิ์ปกติเช่น+ drwxr-x---+ 3 root rootระบบของฉันไม่แสดงสิ่งนี้ ACL ในโฟลเดอร์เหล่านี้เป็นมาตรฐานสำหรับ Ubuntu หรือผู้ใช้มีสิ่งพิเศษเกิดขึ้นและฉันควรกังวลว่านี่เป็นปัญหาที่มาจากไหน

ขอบคุณที่อ่าน.


1
ฉันใช้การตั้งค่าบูตคู่ (16.04 และ Win7) และฉันเห็นเครื่องหมาย + ที่ส่วนท้ายของการอนุญาตของโฟลเดอร์ / สื่อ / ผู้ใช้ ดังนั้นฉันคิดว่ามีปัญหาที่มาของคุณ ฉันพบสิ่งเหล่านี้ ( 1 , 2 ) ผ่าน googleing แต่ฉันไม่ได้ใช้ acl มาก่อนเพื่อทราบว่าพวกเขาเพียงพอที่จะแก้ปัญหาของคุณหรือไม่
Karsus

2
lsนับรวมบล็อก 1KB ใช้โดยไฟล์ในไดเรกทอรีที่ไม่ซ้ำ ดูunix.stackexchange.com/a/4110/44281
amotzg

@Karsus ขอบคุณฉันคิดว่าคุณพบปัญหาแล้ว ฉันจะลองคำตอบของ Zanna ด้านล่างและจะแจ้งให้คุณทราบอีกครั้ง @ amotzg Aha ช่วยล้างสิ่งต่างๆ ขอบคุณ :)
MicroParsec

เพียงแค่อยากรู้อยากเห็น "3" drwxr-x--- 3*หมายถึงอะไร?
thephoenix01

คำตอบ:


15

เนื่องจากสิทธิ์และความเป็นเจ้าของ/media/casperเป็น

drwxr-x---  root root 

ไม่มี+สำหรับ ACLs ( รายการการควบคุมการเข้าถึง ) เป็นที่ชัดเจนว่ามีเพียงรากเท่านั้นที่สามารถเปิดป้อนอ่านหรือเขียนลงในไดเรกทอรีนี้ ผู้ใช้ที่ถ่อมตนอย่างพวกเราได้รับการอนุญาตในตอนท้ายของสตริง---:(

เราชาวบ้านที่ด้อยโอกาสได้รับอนุญาตให้เข้าถึงสถานที่นี้ด้วย ACL ฉันไม่แน่ใจว่าทำไมคุณถึงไม่มีสิ่งเหล่านี้ แต่คุณสามารถตั้งค่าได้ซึ่งอาจจะง่ายหรือต้องการการแก้ไขเล็กน้อย:

  • aclแพคเกจที่ต้องการ (ตรวจสอบapt-cache policy acl)
  • ระบบไฟล์จะต้องติดตั้งด้วยaclตัวเลือก

ในการตรวจสอบหลัง (แทนที่sdxYพาร์ทิชันรูทของคุณอย่างเหมาะสม):

sudo tune2fs -l /dev/sdxY | grep "Default mount options:"

ควรกลับมา:

Default mount options:    user_xattr acl

ตัวเลือกการเมาท์เริ่มต้นถูกตั้งค่า /etc/mke2fs.conf

อาจถูกเขียนทับดังนั้นโปรดตรวจสอบ:

cat /proc/mounts | grep sdxY

ดูเหมือนว่า:

/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

ด้านบนเป็นเรื่องปกติ ( aclไม่จำเป็นต้องพูดถึง) แต่ถ้ามันบอกว่าnoaclคุณต้องเปลี่ยน

คุณสามารถเพิ่มตัวเลือกให้กับตัวเลือกการเมาท์เริ่มต้นเช่นนี้:

sudo tune2fs -o acl /dev/sdxY

หรือคุณสามารถเพิ่มaclตัวเลือกสำหรับบรรทัดพาร์ติชันใน/etc/fstabตัวอย่าง:

UUID=whatever /     ext4    errors=remount-ro,acl    0       1

เมื่อเปิดใช้งาน ACL ให้ใช้setfaclเพื่อเพิ่มสิทธิ์สำหรับตัวคุณเอง ในการให้usernameสิทธิ์ในการอ่านและเรียกใช้บน / media / casper (คุณต้องมีสิทธิ์ในการรันเพื่อเข้าสู่ไดเร็กทอรีหรือค้นหาเนื้อหา):

sudo setfacl -m u:username:rx /media/casper

คุณสามารถแทนที่usernameด้วย uid (อาจเป็นคุณ1000- ตรวจสอบด้วยidคำสั่ง)

sudo setfacl -m u:1000:rx /media/casper

เพื่อดูสิทธิ์ ACL ที่คุณใช้getfaclเหมือน Oli ในคำตอบของเขา

getfacl /media/casper

ในการลบการอนุญาต ACL ออกจากผู้ใช้

sudo setfacl -x u:username /media/casper

เพื่อล้างสิทธิ์ ACL ทั้งหมด

sudo setfacl -b /media/casper

หมายเหตุ: ฉันโกงและถามคำถามตัวเองเกี่ยวกับสาเหตุที่มีรายการเข้ามา/mediaมากมาย คำตอบอยู่ที่นี่


1
ขอบคุณ @Zanna: apt-cache policy aclส่งคืน ACL ได้รับการติดตั้งแล้วและล่าสุด กล่าวถึงDefault mount options ไม่ได้พูดถึง ดังนั้นฉันเดาว่าฉันต้องเพิ่มสิทธิ์ ACL ด้วยตนเองในตอนนี้ด้วยเหตุผลบางอย่างที่พวกเขาไม่ได้ทำ ฉันใช้คำสั่งที่คุณอธิบายเพื่อให้สิทธิ์ rx แก่ฉันสำหรับไดเรกทอรีและฉันดีใจที่บอกว่าฉันสามารถเข้าถึงสื่อภายนอกของฉันได้อีกครั้ง ขอบคุณ Zanna! aclcat /proc/mountnoacl/media/casper
MicroParsec

มีความสุขที่คุณได้รับมันคงที่: D
Zanna

2

เมื่อคุณต้องการให้สิทธิ์การเข้าถึงไดรฟ์ Windows จาก Ubuntu

chmodคำสั่งปกติจะไม่ทำงานหากเป็นไดรฟ์ Windows NTFS

งานต่อไปนี้สำหรับฉัน

เปิดไฟล์/etc/mtab:

gedit /etc/mtab

ค้นหาชื่อไดรฟ์ในไฟล์นี้ (เพียงวางเมาส์บนไดรฟ์ที่คุณกำลังมองหาวิธีแก้ปัญหาในกรณีของฉัน GUI จะแสดงชื่อที่แตกต่างกันและวางเมาส์เหนือมันแสดง/media/user-name/drive-name)

ตอนนี้ใน/etc/mtab:

ค้นหาชื่อไดรฟ์ในไฟล์และตรวจสอบว่าไดรฟ์ที่ติดตั้งของคุณได้รับมอบหมาย (ในกรณีของฉัน - /dev/sda4)

ตอนนี้เมานต์ไดรฟ์นี้ด้วย:

sudo ntfs-3g /dev/sda4 /media/"$USER"

ตอนนี้ฉันสามารถใช้งานโปรแกรมปฏิบัติการได้ แต่ฉันไม่สามารถดูเนื้อหาของชื่อไดรฟ์ได้ดังนั้นฉันจึงถอดเมานต์ไดรฟ์และติดตั้งอีกครั้ง

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