Vấn đề về quyền trên thư mục / media / user ngăn tôi truy cập phương tiện bên ngoài


11

Khi tôi cắm vào Ổ cứng ngoài, hãy cắm DVD hoặc thử xem những gì tôi đã có trên ổ USB của mình, hành vi kỳ quặc là kết quả thông thường.

Các hệ thống tập tin gắn kết tốt. Khi tôi đăng nhập như root thông qua sudo su, tôi có thể thấy nội dung của /media/casper/externaldrivehoàn toàn tốt. Người dùng của tôi, tuy nhiên, casperkhông thể. Ubuntu trả lời cho mọi hành động liên quan đến vị trí Permission denied:

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

Tôi quyết định thực hiện một số đào sâu vào sự cho phép (vấn đề) của /mediathư mục. Như casper, tôi thấy như sau:

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/

Điều gây ấn tượng với tôi là nó đã nói total 16, trong khi chỉ có tối đa 6 danh sách. Vì vậy, tôi chạy lệnh một lần nữa, nhưng như root. Kết quả là như nhau, kỳ lạ. (bất cứ ai có thể khai sáng cho tôi về điều này?)

Dù sao, điều làm tôi ấn tượng hơn nữa là /media/casperthư mục không phải của tôi và tôi cũng không thể truy cập được. Tôi đã bị cám dỗ chỉ để chown -Rcác bazinkas ra khỏi nó, nhưng sau khi tôi đã nắm được chính mình, tôi đã googled một cái gì đó như "Thư mục người dùng phương tiện không phải là của tôi giúp tôi".

Phải mất một lúc nhưng cuối cùng tôi cũng vấp phải chủ đề này , nơi người dùng giải thích mục đích của các 750 root:root /media/userthư mục. Nó đảm bảo chỉ root mới có thể gắn kết, xem và quản lý các hệ thống tập tin ở đó, trong đó các quyền riêng lẻ được thay đổi cho người dùng thực tế.

Vì vậy, nếu thông tin của tôi là chính xác, các /media/casper/externaldrivequyền sẽ có lợi cho tôi. Tôi đã kiểm tra,

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/

Và điều này dường như là trường hợp.

Vì vậy, đây là nơi tôi bị mắc kẹt. Hệ thống tập tin có quyền cho tôi suốt cây thư mục, nhưng tôi không thể truy cập vào một tệp. Điều này giống với ổ đĩa CD và USB.

Ai có thể giúp tôi truy cập vào quý giá của tôi?

Oh, và bằng cách này. Chủ đề được đề cập nói về ACL trên các /media/userthư mục này , được biểu thị bằng một quyền +sau thông thường, như drwxr-x---+ 3 root root. Hệ thống của tôi không hiển thị điều này. ACL trên các thư mục này có phải là tiêu chuẩn cho Ubuntu hay người dùng có những điều đặc biệt đang diễn ra không, và tôi có nên lo lắng rằng đây là vấn đề của tôi đến từ đâu không?

Cảm ơn vì đã đọc.


1
Tôi sử dụng thiết lập khởi động kép (16.04 và Win7) và tôi thấy dấu + ở cuối quyền của thư mục / phương tiện / người dùng. Vì vậy, tôi nghĩ rằng vấn đề của bạn đến từ đâu. Tôi đã tìm thấy những điều này ( 1 , 2 ) thông qua google nhưng tôi chưa sử dụng acl trước đây để biết liệu chúng có đủ để giải quyết vấn đề của bạn không.
Karsus

2
Các lstổng khối lượng 1KB được sử dụng bởi các tập tin trong thư mục, không đệ quy. Xem unix.stackexchange.com/a/4110/44281 .
amotzg

@Karsus Cảm ơn bạn, tôi nghĩ bạn đã tìm thấy vấn đề của tôi. Tôi sẽ thử câu trả lời của Zanna bên dưới và sẽ cập nhật cho bạn. @ amotzg Aha, điều đó làm sáng tỏ mọi thứ. Cảm ơn :)
MicroParsec

Vì tò mò, "3" drwxr-x--- 3*nghĩa là gì?
thephoenix01

Câu trả lời:


15

Vì quyền và quyền sở hữu /media/casper

drwxr-x---  root root 

Không có +ACL ( Danh sách điều khiển truy cập ), rõ ràng chỉ có root mới có thể mở, nhập, đọc hoặc ghi vào thư mục này. Người dùng khiêm tốn như chúng tôi nhận được quyền ở cuối chuỗi ---:(

Chúng tôi không có quyền dân gian được phép truy cập vị trí này với ACL. Tôi không chắc tại sao bạn chưa có những thứ này, nhưng bạn có thể thiết lập chúng, có thể đơn giản hoặc yêu cầu một chút mày mò:

  • các aclgói phần mềm được yêu cầu (kiểm tra apt-cache policy acl)
  • hệ thống tập tin phải được gắn với acltùy chọn

Để kiểm tra cái sau (thay thế sdxYmột cách thích hợp cho phân vùng gốc của bạn):

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

nên trả lại:

Default mount options:    user_xattr acl

Tùy chọn gắn kết mặc định được đặt trong /etc/mke2fs.conf

Chúng có thể bị ghi đè, vì vậy hãy kiểm tra:

cat /proc/mounts | grep sdxY

trông giống như:

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

Ở trên là tốt, ( aclkhông cần phải đề cập) nhưng nếu nó nói noaclbạn cần thay đổi nó.

Bạn có thể thêm tùy chọn vào tùy chọn gắn kết mặc định như thế này:

sudo tune2fs -o acl /dev/sdxY

Hoặc bạn có thể thêm aclvào các tùy chọn cho dòng phân vùng gốc /etc/fstabchẳng hạn:

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

Khi bật ACL, hãy sử dụng setfaclđể thêm quyền cho chính mình. Để cung cấp quyền usernameđọc và thực thi trên / media / casper (bạn cần có quyền thực thi để vào thư mục hoặc tìm kiếm nội dung của nó):

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

Bạn có thể thay thế usernamebằng uid (có thể là bạn 1000- kiểm tra bằng idlệnh)

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

để xem các quyền ACL mà bạn sử dụng getfaclnhư Oli đã làm trong câu trả lời của anh ấy

getfacl /media/casper

Để xóa quyền ACL khỏi người dùng

sudo setfacl -x u:username /media/casper

Để xóa tất cả các quyền ACL

sudo setfacl -b /media/casper

Lưu ý: Tôi đã lừa dối và tự hỏi một câu hỏi về lý do tại sao có quá nhiều mục /media. Câu trả lời là đây


1
Cảm ơn bạn @Zanna: apt-cache policy acltrả về ACL đã được cài đặt và mới nhất. Default mount optionsđề cập acl. cat /proc/mountkhông đề cập đến noacl. Vì vậy, tôi đoán rằng tôi cần thêm các quyền ACL bằng tay ngay bây giờ, vì một số lý do chúng chưa được tạo. Tôi đã sử dụng các lệnh bạn mô tả để cấp cho mình quyền rx cho /media/casperthư mục và tôi rất vui khi nói rằng tôi có thể truy cập lại phương tiện bên ngoài của mình. Cảm ơn Zanna!
MicroParsec

Yay, rất vui vì bạn đã sửa nó: D
Zanna

2

Khi bạn muốn cấp quyền truy cập vào ổ đĩa Windows từ Ubuntu

Lệnh bình thường chmodsẽ không hoạt động nếu đó là ổ đĩa NTFS của Windows.

Các công việc sau đây cho tôi.

Mở tệp /etc/mtab:

gedit /etc/mtab

Tìm tên ổ đĩa trong tệp này (chỉ cần di chuột qua ổ đĩa mà bạn đang tìm giải pháp, trong trường hợp của tôi, GUI đang hiển thị tên khác và trên chuột hiển thị /media/user-name/drive-name)

Bây giờ trong /etc/mtab:

Tìm kiếm tên ổ đĩa trong tệp và kiểm tra ổ đĩa được gắn ổ đĩa của bạn được chỉ định (trong trường hợp của tôi - /dev/sda4)

Bây giờ gắn ổ đĩa này với:

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

Bây giờ tôi có thể thực thi các tệp thực thi của mình, nhưng tôi sẽ không thể xem nội dung của tên ổ đĩa, vì vậy tôi đã ngắt kết nối ổ đĩa và gắn lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.