У меня есть личная папка / a / b на сервере с разрешением 700. Я не хочу, чтобы другие перечисляли содержимое в / a / b. Владелец / a является пользователем root.
Теперь мне нужно открыть все полномочия каталога / a / b / c для всех пользователей.
Я изменил разрешение / a / b / c на 777, но оно все еще недоступно для других.
linux
shell
permissions
directory
подветренный
источник
источник
chmod +x /a/b
Ответы:
Вы можете. Вам просто нужно установить исполняемый бит в
/a/b
каталоге. Это не даст возможности увидеть что-либо внутриb
, но вы все равно можете сделать все, если пойдете напрямуюa/b/c
.Помните, что, хотя другие не могут перечислить содержимое
/a/b
, они могут получить доступ к файлам в этом каталоге, если они угадывают имя файла.Поэтому не забудьте сохранить надлежащие разрешения (без группы / мира) для всех других файлов / каталогов в
b
каталоге, так как это позволит избежать этого предостережения.источник
b
ссылку наc
a/b
имеет ненулевые групповые / другие разрешения, и злоумышленник знает или может угадать их имена, указанный злоумышленник может взаимодействовать с этими файлами.b
для защиты от этого перед созданиемc
, а затем необходимо проявлять осмотрительность при заполнении других элементов,b
чтобы гарантировать, что разрешения являются безопасными только для владельца.С этими разрешениями вы не сможете достичь своей цели. Чтобы попасть в каталог
c
, вы должны разрешить всем другим пользователям проходить через каталог,b
что делается путем предоставления разрешения на выполнение для этого каталога. С/a/b
установлено в режим 711, вы можете добиться того, что вы хотите , так как вы учитываете обход каталогов , но отрицая читать и писать. Но имейте в виду, что, хотя другие пользователи не могут перечислять файлы/a/b
, они могут иметь доступ к файлам, если они угадают имя и файлы имеют достаточно открытые разрешения.источник
Если пользователь не может получить доступ
/a/b
, он не может получить доступ к любому файлу в/a/b/c
. Права доступа не/a/b/c
имеют значения, поскольку обратный путь в каталогах останавливается на/a/b
.Если все, что вам нужно, это запретить указание каталога в
/a/b
списке, но у вас все в порядке с доступом к файлам,/a/b
если они угадывают имя файла, тогда вы можете сделать/a/b
исполняемый файл, но не читаемый. В каталоге разрешение на чтение контролирует только список содержимого каталога, а разрешение на выполнение контролирует доступ к записям этого каталога.Если вы не хотите, чтобы другие пользователи могли получать доступ к файлам,
/a/b
кроме/a/b/c
, вы можете открыть доступ/a/b/c
через другое представление, через bind mount .источник