LINUX.ORG.RU

Права на дочерние директории

 


1

1

Всем доброго времени суток!

Нужна помощь в решении вопроса. Есть папка которая иерархически располагается достаточно глубоко (/a/b/c/d к примеру). Мне нужно назначить права на полный доступ только на каталог d всем пользователям, при этом что бы они не имели доступа к родительским папкам. Возможно ли это? Хотел решить вопрос через линк. Создал папку d, дал на папку права типа 777, создал на неё ссылку и выложил в папку к которой имеют доступ все пользователи. Команда ls -l на линке показывает что ссылка имеет права lrwxrwxrwx но при попытке перейти по ней получаю сообщение доступ запрещён. Что нужно ещё подкрутить?



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

По-видимому, дело в sticky bit'е, установленном на той директории, в которую помещена ссылка. В этом случае разыменование ссылки запрещено для других пользователей (не владельцев ссылки).

anarquista ★★★★★
()

Есть папка которая иерархически располагается достаточно глубоко (/a/b/c/d к примеру). Мне нужно назначить права на полный доступ только на каталог d всем пользователям, при этом что бы они не имели доступа к родительским папкам.

Не папка, а мамка.

На /a, /a/b, /a/b/c/ ставишь права 111.

akk ★★★★★
()

Простейший тест на виндузятника - использование в разговоре слова «папка», как говорится, папка у тебя один, а в линуксе это директория.

И так один из столпов *nix систем это то, что всё есть файл. Соответственно каждая директория это файл, который состоит из простенькой «таблички» :

  • inode1:filename1
  • inode2:filename2

Как будет работать cd в /a/b/c/d ? Читаем содержимое /, ищем в списке inode с именем файла a, читаем его содержимое, ищем inode с именем b, читем и тд. Т.е. как только ты ограничешь доступ на чтение по этому пути то всё перестанет работать.

Подумай как это лучше организовать, и используй Posix ACL

sparks ★★★
()

Родительским директориям надо дать право X, тогда можно будет получить доступ в целевую. Всем, до корня. Без права на X ты не откроешь директорию.

targitaj ★★★★★
()

Без подробностей не до конца понятно, что ты там хочешь провернуть. Но могу предложить использовать вместо линка «mount -o bind».

justAmoment ★★★★★
()

У директории в юниксах есть 3 операции, на которые можно назначить права:

w=создавать, переименовать и удалять содержимое

r=читать список файлов (не сами файлы)

x=заходить в директорию (через cd или по символической ссылке)

Права в юниксах не наследуются от родительской директории к дочерней, но цепочка директорий с битом x должна выстраиваться.

Делай так:

chmod =x a a/b a/b/c
chmod a=rwx a/b/c/d

Вместо =x можно делать u=rwx,=x, чтоб самому там все смотреть и менять.

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

Указывать на три ошибки в одном слове негуманно, ящетаю. Вдруг у автора психика слабая, из окна выбросится. А мне лес валить.

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

Не папка, а мамка.
Простейший тест на виндузятника - использование в разговоре слова «папка», как говорится, папка у тебя один, а в линуксе это директория.

Это ложь и «илитизм». Folder вполне используется в контексте линукса как в интерфейсе, так в документации.

entemophyllon
()
Ответ на: комментарий от akk

Повторяю еще раз:
Слово folder вполне используется в контексте линукса/другого юникса как в интерфейсе, так в документации. В т.ч. вполне себе грамотными людьми.

Thunar starts up quickly and navigating through files and folders is fast and responsive.

http://docs.xfce.org/xfce/thunar/start

Говорить:

Простейший тест на виндузятника - использование в разговоре слова «папка», как говорится, папка у тебя один

-- по меньшей мере скудоумие и «илитизм».

entemophyllon
()

Права на симлинк не дают прав на указываемый файл/каталог. Это лишь адрес куда пойти. А для доступа к подкаталоу нужны права на родительский каталог. А вот в случае упомянутого выше mount bind точно не помню, возможно не нужны.

German_1984 ★★
()

Есть папка

А мамка у тебя есть, сиротка?

anonymous
()

дерриктории

*хруст разгрызаемой батареи*

redgremlin ★★★★★
()

Всем спасибо. Параметр X в правах сделал своё дело!

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

Интересная штука, взял на заметку. Спасибо!

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

у тебя man hier вместо мозгов, так и запишем

anonymous
()
Ответ на: комментарий от targitaj

Если всё подряд делать рекурсивно, то можно однажды и обрекурсивиться. Предпочитаю минимально необходимое воздействие.

Кроме того, топикстартеру надо было закрыть доступ другим юзерам. =x это делает, +X нет.

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

в линуксе это директория

https://ru.wikipedia.org/wiki/Директория

Директо́рия (фр. directoire) — форма организации верховной власти в виде особой коллегиальной формы управления.

В линуксе нет директории, в линуксе единоличный диктатор.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.