В качестве домашней работы я должен сделать следующее (на Fedora):

  • Составьте 3 группы S, F, A
  • добавить некоторых пользователей в группы
  • Создайте файл для каждой группы, который могут использовать только участники группы.

Я вошел в систему как root и сделал на рабочем столе SFA mkdir и с помощью chmod я даю wrx в папке и с помощью chgrp даю группу A в dir A, но если я вхожу в систему с пользователем из группы AI, я не вижу dir A на рабочем столе, что я делаю неправильно?

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

1 ответ1

0

Рабочий стол в Gnome (который, я полагаю, вы используете) является подкаталогом $HOME , в частности, $HOME/Desktop . Таким образом, если вы войдете в систему как пользователь root и создадите файл или папку на рабочем столе пользователя root, другие пользователи не увидят его на своем рабочем столе. Кроме того, $ HOME пользователя root по умолчанию недоступен обычным пользователям.

Вместо создания каталога на рабочем столе root, создайте его, например, на рабочем столе пользователя A.


Теперь, после настройки папок, если вы хотите предоставить доступ к подпапке пользователям, которые не входят в группу родительских папок, вам необходимо разрешить выполнение (не чтение или запись) родительской папки. Единственный способ получить доступ к подпапке - получить права на выполнение для ts parent. Например, запустите эти команды от имени пользователя root:

  1. Создайте папку и дайте права rwx владельцу и членам ее группы и только x разрешений всем остальным:

    mkdir /foo
    chmod 771 /foo/
    
  2. Создайте подкаталог /foo который будет доступен каждому, и создайте в нем тестовый файл:

    mkdir /foo/bar
    chmod 777 /foo/bar/
    touch /foo/bar/file.txt
    chmod 766 /foo/bar/file.txt
    

Это то, что мы создали до сих пор:

# ls -l / | grep foo
drwxrwx--x   3 root root  4096 Apr 16 14:31 foo
# ls -l /foo
drwxr--r-- 2 root root 4096 Apr 16 14:31 bar
# ls -l /foo/bar
-rwxrw-rw- 1 root root 0 Apr 16 14:47 file.txt

Так что , если я теперь войти с пользователем не в группе root «s, я не буду иметь возможность читать или писать /foo , но я буду иметь возможность читать и писать /foo/bar

$ whoami
terdon
$ groups
users
$ ls /foo
ls: cannot open directory /foo/: Permission denied
$ ls /foo/bar
file.txt

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

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