Я пытаюсь изучить, как система разрешения файла работает. У меня есть группа с 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
. Что я делаю неправильно? Члены группы должны были все прочитать разрешение.
Это причуда UNIX.
Чтобы сделать ls
для каталога, вам нужно иметь разрешение на выполнение для каталога.
Если у вас есть только разрешение на чтение, вы можете получить доступ к файлам в каталоге, но вы должны сначала узнать о них! например,
Как Алиса:
echo "Hello Bob" > shared/hello
Как Боб:
cat shared/hello
Если вы хотите, чтобы Боб мог ls
(или cd
) делать общий каталог: [ 1111]
chmod 750 shared
Отметьте неотступно следующие полномочия в Linux:
, Таким образом, необходимо сделать разрешение папкой это 750 , чтобы другой пользователь получил доступ к нему, и потому что это было создано Alice, на которой она имеет r, w, x , но так как разрешение теперь 740 , боб не сможет получить доступ к нему.