LINUX.ORG.RU

почему opendir() может возвращать «Permission denied» когда все необходимые пермишены присутсвуют?

 opendir,


0

1

вобщем есть sd-карта смонтированная в /media/sdcard. При попытке сделать opendir(«/media/sdcard») я получаю «Permission denied».

при монтировании был указан gid=1023 и согласно /proc/[pid]/status процесс принадлежит к этой группе. моды на /media/sdcard: 0075.

я в замешательстве.

★★★★★

Последнее исправление: cvv (всего исправлений: 2)

сначала проверяется owner и если облом, на группу уже никто не смотрит.

sergej ★★★★★
()

[..] принадлежит к этой группе. моды на /media/sdcard: 0075.

Permissions имеют приоритет, owner не имеет никаких прав (0).

beastie ★★★★★
()
Ответ на: комментарий от beastie

sergej

мне не совсем понятно как именно меня аффектят пермишены для оунера если uid процесса не является оунером. я никогда раньше не встречал описание этой ситуации.

cvv ★★★★★
() автор топика
Последнее исправление: cvv (всего исправлений: 3)

А моды на / смонтированного каталога какие?

vasily_pupkin ★★★★★
()
Ответ на: комментарий от dimon555

моды 0575 установлены и для media тоесть х установлен для всех

cvv ★★★★★
() автор топика
Последнее исправление: cvv (всего исправлений: 1)

Вобщем причину нашел:

проблемное приложение было запущено до монтирования и поэтому он видит точку монтирования с пермишенами до монтирования. а работающее приложение будучи запущено после монтирования видит пермишенны заданные во время монтирования и поэтому отрабатывает как ожидается.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

На всякий случай - неймспейсы в конфиге ядра выключены, но при этом /proc/[pid]/mounts отличаются между прогами

cvv ★★★★★
() автор топика
Последнее исправление: cvv (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.