Проблема с правами доступа к папке /media/user не позволяет мне получить доступ к внешнему носителю

Когда я подключаю свой внешний жесткий диск, вставляю DVD или пытаюсь посмотреть, что у меня есть на 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 Базинки из этого, но после того, как я взял себя в руки, я гуглил что-то вроде "Папка пользователя мультимедиа, не моя, помоги мне".

Это заняло некоторое время, но, наконец, я наткнулся на эту тему, где пользователи объясняют цель 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 или у пользователя происходят особые события, и мне следует беспокоиться о том, из-за чего и возникла моя проблема?

Спасибо за прочтение.

3 ответа

Решение

Так как разрешения и владение /media/casper являются

drwxr-x---  root root 

С нет + для ACL (списков контроля доступа) ясно, что только root может открывать, вводить, читать или записывать в этот каталог. Скромные пользователи, такие как мы, получают разрешения в конце строки ---:(

Мы, непривилегированные люди, получаем разрешение на доступ к этому месту с помощью 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 как сделал Оли в своем ответе

getfacl /media/casper

Чтобы удалить разрешения ACL от пользователя

sudo setfacl -x u:username /media/casper

Чтобы очистить все разрешения ACL

sudo setfacl -b /media/casper

Примечание: я обманул и сам задал вопрос о том, почему в /media, Ответ здесь

Когда вы хотите дать разрешение на доступ к диску Windows из Ubuntu

Нормальный chmod Команда не будет работать, если это диск Windows NTFS.

Следующее работает для меня.

Открыть файл /etc/mtab:

gedit /etc/mtab

Найдите имя диска в этом файле (просто наведите курсор мыши на диск, для которого вы ищете решение, в моем случае графический интерфейс пользователя показывает другое имя, а при наведении курсора мыши на него /media/user-name/drive-name)

Сейчас в /etc/mtab:

Найдите имя диска в файле и проверьте, к какому диску относится ваш подключенный диск (в моем случае - /dev/sda4)

Теперь подключите этот диск с помощью:

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

Теперь я могу выполнить свои исполняемые файлы, но не смогу увидеть содержимое имени диска, поэтому я размонтировал диск и снова подключил его.

Занна предоставила очень полезный ответ, который объясняет предысторию.

Но есть более простой способ исправить ситуацию:

  1. Размонтируйте и отключите/извлеките все диски, которые в данный момент смонтированы (недоступно) в /media/casper.
  2. Удалить каталог: sudo rmdir /media/casper

В следующий раз, когда вы подключите USB-накопитель или вставите CD/DVD, Ubuntu воссоздаст /media/casper с правильными разрешениями.

(ACL могут быть потеряны, например, если вы создали резервную копию rootfs с помощью tar без параметра --acls, а затем восстановили его из резервной копии.)

Другие вопросы по тегам