Проблема с правами доступа к папке /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"
Теперь я могу выполнить свои исполняемые файлы, но не смогу увидеть содержимое имени диска, поэтому я размонтировал диск и снова подключил его.
Занна предоставила очень полезный ответ, который объясняет предысторию.
Но есть более простой способ исправить ситуацию:
- Размонтируйте и отключите/извлеките все диски, которые в данный момент смонтированы (недоступно) в /media/casper.
- Удалить каталог:
sudo rmdir /media/casper
В следующий раз, когда вы подключите USB-накопитель или вставите CD/DVD, Ubuntu воссоздаст /media/casper с правильными разрешениями.
(ACL могут быть потеряны, например, если вы создали резервную копию rootfs с помощью tar без параметра --acls, а затем восстановили его из резервной копии.)