Домашняя папка имеет все права доступа «Только для чтения»


11

Я только что понял, что моя домашняя папка ( / HD / Users / Bob ) имеет все права доступа «ReadOnly», установленные на его корневом уровне.

Если я просматриваю эту папку из другой учетной записи, я могу просматривать папки, но мне не разрешается открывать стандартные папки OS X (Рабочий стол, Документы, Музыка, Фильмы и т. Д.). Тем не менее, я создал несколько папок на корневом уровне моей домашней папки, и те , ARE доступны для этого другого пользователя. Они могут открывать папки и открывать некоторые документы с доступом ReadOnly.

Кто-нибудь еще видит это? Это стандартная конфигурация или мой Mac испорчен? Это похоже на дыру в безопасности, позволяющую пользователям получать доступ к файлам других пользователей в системе.

Я использую довольно чистую сборку Yosemite 10.10.1 - она ​​была установлена ​​около месяца назад. Я восстановил свои старые файлы с жесткого диска. Они не были восстановлены с помощью Time Machine

Ответы:


2

Это стандартная конфигурация разрешений. Корень вашей домашней папки - глобальное чтение, но стандартные папки OS X, такие как Desktop и Documents, не должны иметь глобального доступа. Не стесняйтесь устанавливать разрешения для других папок, которые вы создаете в корне вашей домашней папки, в соответствии с разрешениями для стандартных папок.

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


1
Это так интересно .. есть идеи, почему это так? это похоже на странную установку.
slidmac07

Поэтому, прежде чем я разместил здесь, я изменил доступ на корневом уровне и распространил его вниз. Это определенно испортило мой компьютер, и я бы посоветовал людям НЕ менять ACL здесь. После восстановления из резервной копии я решил переместить все не относящиеся к Apple каталоги в определенные папки Apple
slidmac07

@ slidmac07 Если вы абсолютно не уверены, что знаете, что делаете, рекурсивное изменение / распространение разрешений может быть опасным, как вы узнали.
Дуггро

1
@ganbustein: в обычном пре-ACL UNIX каталог, предназначенный только для выполнения, является «проходимым», но не читаемым; бит чтения необходим для фактического перечисления файлов в каталоге. // Да, злоумышленник может проверить все возможные имена, но любая приличная система обнаружения вторжений обнаружит такую ​​схему доступа и выкрикнет фол в скором времени. // Хорошая практика безопасности может сделать ваш домашний каталог ~ доступным (только для исполнения) (в идеале только для ~ / Public и т. Д.), ~ / Public читаемым для всех, а все остальные файлы в ~ не читаемыми или не доступными для всех по умолчанию , включая новые файлы.
Крейзи Глеу

1
Если весь смысл в том, чтобы сделать ~ / Public доступным, я бы предпочел, чтобы Public dir находился вне моего dir пользователя, например, mkdir / Users / Shared / <username> для каждого пользователя.
Amdyes

5

Если вы хотите, чтобы новые папки на верхнем уровне вашей домашней папки по умолчанию не читались никем, кроме вас, добавьте следующие две ACL в вашу домашнюю папку. НЕ РАСПРОСТРАНЯТЬ РАЗРЕШЕНИЯ. Первый ACL делает все новые папки нечитаемыми, недоступными для записи и доступными для поиска всеми. Второй ACL делает исключение для вас. Обязательно вводите их в таком порядке, чтобы вторая запись могла выдвигаться вперед.

chown +a "group:everyone deny list,add_file,search,add_subdirectory,delete_child,directory_inherit,limit_inherit,only_inherit" ~
chown +a# 0 "user:$USER allow list,add_file,search,add_subdirectory,delete_child,directory_inherit,limit_inherit,only_inherit" ~

Но, по правде говоря, проще просто исправить разрешения для любых подпапок, которые вы создаете непосредственно в своей домашней папке. Я имею в виду, это не так, как ты собираешься делать это часто, верно?

И кроме того, кто скажет, что вы хотите, чтобы эти новые папки были доступны для чтения только вам? Что делать, если вам нужна папка, которая может быть прочитана группой для какой-то группы, но не читаема для всех? Эти унаследованные списки ACL будут только мешать вам.

Создание папки top-of-home-folder должно быть редким событием. Специальные решения лучше всего подходят для редких событий.


2
Однако некоторые из них пришли в MacOS из UNIX и / или Linux, где создание верхней папки домашней папки или файла в этом отношении является обычным явлением. Эти разрешения по умолчанию для Mac приводят нас в замешательство, если мы продолжаем работать так, как если бы мы работали в обычной системе UNIX.
Крейзи Глеу

1

Ух ты, я был шокирован, когда понял это.

Другое решение - заблокировать домашний каталог для всех остальных:

chmod 700 ~


Который, как уже говорилось годом ранее, делает лжеца из названия ~ / Public
WGroleau
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.