Предоставление разрешения чтения для группы не работает

Я пытаюсь изучить, как система разрешения файла работает. У меня есть группа с group common. Затем я создал 2 учетных записи; боб и alice с useradd -m -G common bob/alice. Я создал пароль для них обоих. Затем я переключил пользователя на alice с su alice и созданный каталог mkdir shared. Затем я изменяю владение chgrp common shared и разрешение для этой папки chmod 740 shared. Теперь, когда я тестирую его, я могу получить доступ к каталогу с alice. Однако, когда я переключаю пользователя для удара, и пытаться получить доступ к папке это говорит bash: cd: shared/: Permission denied. Что я делаю неправильно? Члены группы должны были все прочитать разрешение.

1
задан 9 December 2016 в 03:45

2 ответа

Это причуда UNIX.

Чтобы сделать ls для каталога, вам нужно иметь разрешение на выполнение для каталога.

Если у вас есть только разрешение на чтение, вы можете получить доступ к файлам в каталоге, но вы должны сначала узнать о них! например,

Как Алиса:

echo "Hello Bob" > shared/hello

Как Боб:

cat shared/hello

Если вы хотите, чтобы Боб мог ls (или cd) делать общий каталог: [ 1111]

chmod 750 shared
1
ответ дан 7 December 2019 в 15:43

Отметьте неотступно следующие полномочия в Linux:

  • (r) чтение позволяет открывать файл, учитывая свое имя
  • (w), запись позволяет создавать файлы
  • (x), выполняются, позволяет перечислять или искать файлы.

, Таким образом, необходимо сделать разрешение папкой это 750 , чтобы другой пользователь получил доступ к нему, и потому что это было создано Alice, на которой она имеет r, w, x , но так как разрешение теперь 740 , боб не сможет получить доступ к нему.

0
ответ дан 7 December 2019 в 15:43

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

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