Создание всех папок, недоступных для & ldquo; другим & rdquo; - но сохраняя свой первоначальный статус в отношении & ldquo; write & rdquo; и & ldquo; выполнить & rdquo;

TLDR : Как изменить разрешения для всех папок на компьютере, чтобы для «других» папки теряли только читаемость? Другими словами, они сохраняют свой статус в отношении «записи» и «выполнения», но теряют возможность «чтения» в случае, если у них это было вообще?

Длинная версия : При настройке сервера (где пользователи могут использовать SSH) в первый раз, я сначала попытался выяснить, как можно создать новых пользователей, которым разрешен доступ только к их собственной папке home/username и подпапкам.

Тем не менее, я нашел некоторые ссылки (например, этот вопрос / ответ ) онлайн, объясняющие, что это, возможно, не будет хорошей идеей, поскольку пользователям, конечно, все равно потребуется доступ к некоторым системным папкам, например usr/bin или usr/lib и для записи в папки, подобные tmp. Конечно, это имеет смысл. Затем вместо этого я попытался использовать то, что находится в системных папках, но не , см. их содержание.

Более конкретно, это будет означать, что все папки в системе будут недоступны для чтения «другим», в то же время сохраняя свой исходный статус «другие» в отношении возможности записи и выполнения. Например, папка с разрешением 754 станет 750, папка с 756 станет 752, папка с 755 станет 751 и т. Д., А папка с 753, 752, 751 или 750 останутся прежними. И так далее, и тому подобное.

Таким образом, никто, кроме корня, не сможет увидеть, что находится внутри какой-либо папки, кроме их папки home/username и подпапок, но она все еще может выполнять и писать нормально во всех системных папках, которые изначально разрешали это.

Как я могу сделать это для всех папок? Комментарии о возможных недостатках этой идеи также приветствуются.

1
задан 24 May 2019 в 07:30

2 ответа

Только двоичные объекты, открытые самим ядром, могут быть помечены как исполняемые, но не читаемые. Любой тип сценария (bash, python и т. Д.) Должен быть сначала прочитан перед выполнением. См .:

0
ответ дан 24 May 2019 в 07:30
find /path/to/directory/ -type d -exec chmod o-r {} \;

должно работать. Для каждой папки find выполняется chmod. chmod затем удаляет бит чтения для других.

0
ответ дан 24 May 2019 в 07:30

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

Похожие вопросы: