1

Примечание: я использую Ubuntu 12. Я не полный нуб (я могу настроить защищенный веб-сервер и тому подобное), но теперь, когда я пытаюсь использовать его в качестве рабочего стола, я чувствую, что никогда не изучал основы.

Есть ли в linux папка по умолчанию для обмена материалами между локальными пользователями? Я думал, что /usr /share был для этого, но он не позволит мне, если я не буду использовать sudo.

Я заметил, что когда я щелкаю правой кнопкой мыши по папке, есть пункт «Опции обмена», но я беспокоюсь, что это может сделать что-то за кадром, что мне не нравится. Итак, как это работает? Было бы сложно сделать то же самое из кли?

3 ответа3

2

Если вы даете разрешения на выполнение, но не разрешаете чтение для каталога, тогда процесс сможет просматривать каталог, но не сможет читать его содержимое. Это позволит получить доступ к подкаталогам внутри него. Итак, вкратце, 0711.

2

Единственные готовые папки, которые можно использовать для этого, это /tmp и /var /tmp. /tmp может быть очищен при каждой перезагрузке, а /var /tmp может быть удален через некоторое время, например, через неделю. В любом случае они для временных файлов. Даже если Ubuntu 12.04 не касается /var /tmp, вы никогда не знаете, что будет делать следующая версия, поэтому вы всегда должны предполагать, что содержимое этих каталогов может быть удалено без предупреждения.

Если проблема носит временный характер, вам нужно другое решение. Если я хочу, чтобы другие локальные пользователи имели доступ для чтения к моим файлам, я устанавливаю режим моего домашнего каталога на 755 (это то, что я обычно делаю); но в этом случае я забочусь о том, чтобы любые секретные файлы или каталоги в моем домашнем каталоге были установлены на 600 или 700 соответственно.

Комбинация временных файлов + home-directory-read-by-all-обычно обычно достаточна. Если вам действительно нужна общая папка, вам нужно создать, например, /home /shared и установить для нее значение 777 или 1777 (1777 означает, что запись доступна всем, например, 777, но только владелец файла может удалить файл ). Более сложные настройки включают в себя установку бита setgid каталога и игру с группами пользователей, но я не буду подробно останавливаться на этом.

Мне вообще не нравится режим 711 для каталогов; Я нахожу это непонятным, и неясно, насколько он безопасен (я хотел бы предположить, что читаемый означает читабельный, даже если вам нужно угадать его имя, чтобы получить к нему доступ).

В заключение, решение зависит от того, что вы пытаетесь сделать.

1

Если вам неудобно предоставлять другим доступ к вашему домашнему каталогу, вы можете использовать bind mount. Т.е. вы делаете каталог доступным по другому пути. Это похоже на ссылку в файловой системе, но не требует предоставления пользователю доступа ко всем каталогам в пути.

Например, вы создаете каталог с именем /shares (или любым другим) и связываете все каталоги, которые должны быть переданы в общий доступ (необходимо предварительно создать /shares /user):

mount --bind /home/user/private/stuff/share /shares/user

Таким образом, доступ к другим ресурсам должен быть доступен только другим пользователям, /home /user может быть 0700 (также как private, stuff). Чтобы сделать это постоянным, вам нужно добавить запись в /etc /fstab:

/home/user/private/stuff/share /shares/user none bind 0 0

Команде mount или редактированию /etc /fstab потребуются права суперпользователя, поэтому при использовании непривилегированной учетной записи перед командами ставьте префикс "sudo".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .