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


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.