Згрупувати права доступу до групового файлу


13

Я спробував це знайти тут, але не міг так шкодувати, якщо це дублікат.

Скажіть, у мене є 2 групи та користувач: group1, group2, user1 із такою структурою: group1 є членом групи 2, user1 є членом group1

Тепер скажіть, що у мене є такі файли з відповідними дозволами

file1 root:group1 660
file2 root:group2 660

Тепер, коли я входжу в user1, я можу редагувати файл1, але не редагувати файл2. Окрім додавання user1 до group2, чи можна це зробити? чи немає способу?

Я використовую Ubuntu btw.


Якщо я не помиляюся, класичні групові дозволи в Linux не дозволяють розміщувати групу всередині іншої групи. Отже, ви встановили щось, що дозволяє цю функцію?
Гюнтер Стройф

Користувач може бути членом кількох груп. Якщо ви додасте User1 до group2, він може змінити File2. Команда на ваш вибір буде useradd.
користувач1146332

@GuntherStruyf Я нічого не змінив ... З того, що я міг сказати, Ubuntu дозволяє це за замовчуванням ...
Aram Papazian

@ user1146332 Вся справа в тому, щоб не додавати user1 до group2. Якщо це єдиний спосіб, то я можу це зробити, але теоретично я вважаю за краще групову структуру гніздування ...
Арам Папазіян

Відповіді:


15

Немає такого поняття, як група, яка є членом групи. Група, за визначенням, має набір користувачів. Я ніколи не чув про функцію, яка дозволила б вам вказати "підгрупи", де учасники підгруп автоматично отримують членство в супергрупі під час входу. Якщо /etc/groupсписки group1є учасником group2, він позначає користувача, який називається group1(якщо такий користувач існує, що можливо: імена користувачів та імена груп живуть в різних просторах імен).

Якщо ви хочете, щоб користувач1 мав доступ до файлу2, у вас є кілька рішень:

  • Зробіть file2доступними для світу (ви, мабуть, цього не хочете)
  • Зробіть user1 власником file2: chown user1 file2
  • Додати користувача1 до групи2: adduser user1 group2
  • Додайте ACL до file2цього, щоб надати доступ до користувача1 або групи`:

    setfacl -m user:user1:rw file2
    setfacl -m group:group1:rw file2
    

    Див. Розділ Зробити всі нові файли в каталозі доступними для групи щодо ввімкнення ACL.


7
Так, unix / linux не підтримує вкладені групи. Було б корисно, якби це було, але це просто ні. Windows робить, і Active Directory робить. LDAP теж робить, тому це повинно бути можливим, якщо дані облікового запису та групи знаходяться у LDAP, а не у файлах / etc / passwd та / etc / group ... але це зайве, коли є прості рішення, такі як ACL (або просто додайте користувача обом групам)
cas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.