Как предоставить всем пользователям (кроме гостевых) разрешения в конкретный каталог через терминал?

Я хочу, чтобы у каждого пользователя были полные права доступа к одному каталогу (и всему содержимому). Возможно ли это, и как? Спасибо.

1
задан 2 August 2014 в 20:46

2 ответа

Поскольку пользователь guest session не добавляется в группу users, вы можете просто сделать следующее:

sudo chown -R $USER:users /var/privatefolder

sudo chmod -R 770 /var/privatefolder

Пользователь гостевой сессии не мог получить доступ к содержимому /var/privatefolder

Edit

Похоже, что пользователи, созданные в графическом интерфейсе или при установке, автоматически не добавляются в группу пользователей. Я предполагал, что это правда.

вам нужно будет sudo usermod -a -G users username

. Вам нужно будет добавить пользователей в группу вручную, тем самым сделав этот ответ TuKsn так же просто. [ ! d7]

4
ответ дан 24 May 2018 в 05:02
  • 1
    Я ввожу это, и я не вижу содержимого каталога. Пожалуйста помоги. – Dusan Milosevic 3 August 2014 в 00:04
  • 2
    Вы как в пользователе? или вы, как в гостях. можете ли вы показать вывод ls -l /path/to/folder – stedotmartin 3 August 2014 в 00:09
  • 3
    ls: невозможно открыть каталог / opt / D3GO /: разрешение отклонено – Dusan Milosevic 3 August 2014 в 00:52
  • 4
    [F1] – stedotmartin 3 August 2014 в 00:59
  • 5
    drwxrwx --- 5 пользователей root 4096 авг 2 20:24 D3GO – Dusan Milosevic 3 August 2014 в 01:49

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

Создайте новую группу:

sudo groupadd myNewGroup

Добавьте пользователя в группу

sudo usermod -a -G myNewGroup username

Измените пользователя и группу каталога

[ f3]

Измените разрешения каталога

sudo chmod -R 770 /path/to/dir/

Или ug+rwx больше информации для разрешений http://permissions-calculator.org/

Изменить: Как Shutupsquare предположите, что вы можете использовать пользователей группы, которые уже существуют. Чтобы добавить всех пользователей в группу, вы можете использовать:

for u in $(awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd); do sudo usermod -a -G users $u; done  

на основе: http://permissions-calculator.org/

2
ответ дан 24 May 2018 в 05:02
  • 1
    Проблема в том, что я «не знаю». имя пользователя, поскольку я намерен использовать его на нескольких компьютерах с разными именами пользователей. Если гость может получить доступ к каталогу, на самом деле это не проблема. – Dusan Milosevic 3 August 2014 в 00:03
  • 2
    @DusanMilosevic: В этом случае вы можете просто создать каталог «world writeable». [F1]. Это не будет автоматически предоставлять доступ на запись к файлам, созданным другими пользователями, но каждый сможет читать все. – Gunnar Hjalmarsson 3 August 2014 в 12:10
  • 3
    Если это действительно не нужно, я бы избегал 777 ... – TuKsn 3 August 2014 в 14:03
  • 4
    Да, это не то, что я обычно предлагаю, но мне кажется, что это то, что просит @DusanMilosevic. – Gunnar Hjalmarsson 3 August 2014 в 22:50

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

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