Рейтинг:2

Могу ли я полагаться на разрешения 701, чтобы пользователи в одной группе не могли вмешиваться в данные друг друга?

флаг br

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

Итак, я создаю группу пользователи затем два пользователя, Алиса: пользователи и боб: пользователи с /opt/www/алиса и /opt/www/боб домашние каталоги соответственно. Затем, после входа в систему Алиса я не могу войти /opt/www/боб наоборот.

Так что мне кажется, что разрешения не всегда проверяются для каждого типа (пользователь, группа, все), а скорее постепенно, по сути, останавливаясь после отрицательного совпадения. то есть в моем случае

  • когда пользователь из той же группы пытается открыть каталог:
    • во-первых, мы проверяем пользователя, это не то же самое, но 7 пойдем дальше
    • тогда 0 останавливает нас от доступа к каталогу а также останавливает дальнейшую проверку разрешений
    • так что мы не попадаем в случай x для всех из 1
  • а для пользователя из другой группы:
    • во-первых, мы проверяем пользователя, это не то же самое, но 7 пойдем дальше
    • то мы проверяем группу, это 0 но группа другая, так что пропускаем
    • поэтому мы можем открыть каталог благодаря 1 быть "всеми" в этом каталоге

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

Appleoddity avatar
флаг ng
Похоже, вы упускаете некоторую информацию между "Итак, я создаю пользователей..." и "Так мне кажется..." первое имеет смысл, второе не имеет смысла, исходя из первого. .
Col. Shrapnel avatar
флаг br
@Appleoddity Прошу прощения за путаницу, но разве «после входа в систему под Алисой я не могу войти /opt/www/bob» не является недостающей ссылкой? Типа «Итак, я создаю пользователей, затем вхожу под одним из них, а затем *не могу войти в каталог друг друга*, я полагаю, так-то и так-то ...»?
Рейтинг:0
флаг cn

Я думаю, что вы немного ошиблись, но результат тот же. 701 Значит это:

  • пользователь, отмеченный как владелец, получает полные права, 7
  • пользователь в группе, отмеченный как владелец группы, не получает разрешений, 0
  • все получают права на выполнение, 1

Итак, если владелец и разрешения на /opt/www/боб находятся боб: пользователи и 701 соответственно, тогда боб получает полные разрешения, и каждый может «выполнить» каталог. Это означает, что любой сможет получить доступ к своим собственным файлам или файлам, принадлежащим группе, в папке, но не может перечислить содержимое.

Пример:

$> mkdir тест
$> эхо 'foo' > test/foo.txt
$> chmod 100 тест/
$> ls -l тест/
Доступ запрещен
$> тест кота/foo.txt
фу
$>

Так что да, у других пользователей в группе не будет разрешений, но у всех есть разрешения на выполнение. Вам лучше установить разрешения на 740 если вы хотите, чтобы группа читала и никто другой. Или же 741 чтобы достичь того, что у вас есть, но быть немного яснее?

Col. Shrapnel avatar
флаг br
Дело в том, что **я не** хочу, чтобы группа читала
флаг cn
Почему бы тогда просто не установить владельца на `bob:bob`?
Col. Shrapnel avatar
флаг br
потому что в то время я не знал, как позволить веб-серверу читать файлы с такими разрешениями
Paul avatar
флаг cn
@ shearn89 В Ubuntu 18.04, 20.04 и Debian 10 `chmod 701 test/`, `sudo chown root test/`, `cat test/foo.txt` печатает `cat: test/foo.txt: Отказано в доступе`, `sudo chown root:www-data test/`, `cat test/foo.txt` печатает `foo`. У меня нет другого Linux для тестирования.

Ответить или комментировать

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