Предоставление доступа (чтение/запись) другим пользователям на NFS без привилегий root.

Вопрос или проблема

Я работаю на сервере CentOS без привилегий root. Я пытаюсь поделиться конкретной папкой в сети с другим пользователем.

Я уже пробовал ‘setfacl’ без успеха (получив сообщение ‘Операции не поддерживаются’).

Может кто-нибудь подсказать, как я могу предоставить доступ на чтение/запись к папкам, если у меня нет привилегий root??

Ваше NFS монтирование использует vers=3, что означает NFSv3, который, насколько я знаю, не поддерживает настройку ACL. Вам нужна помощь администратора сервера, чтобы настроить ACL непосредственно на сервере через SSH или создать группу и добавить в нее пользователей (что позволит использовать chgrp и chmod).


Поддержка ACL потребует NFSv4, который имеет свою собственную систему ACL, отличную от POSIX (но очень похожую на ту, что в SMB/NTFS). Linux NFSv4 сервера будут преобразовывать между POSIX ACL на диске и NFSv4 ACL в сети, хотя клиент Linux NFS, к сожалению, не выполняет обратное преобразование. Поэтому, если бы использовался NFSv4, вам нужно было бы использовать инструменты, которые работают с NFSv4 ACL – т.е. nfs4_getfacl и nfs4_setfacl из пакета “nfs4-acl-tools” (или где бы ни располагались они в CentOS) – вместо обычных инструментов POSIX ACL.

Например, чтобы добавить запись ACL, которая позволяет доступ на чтение и выполнение, это будет похоже на:

# Добавьте эквивалентную запись ACL "u:someuser:rx"
nfs4_setfacl -a "A::[email protected]:RX" myfolder

# Добавьте эквивалентную запись ACL "d:u:someuser:rx" (по умолчанию или унаследуемую)
nfs4_setfacl -a "A:fdi:[email protected]:RX" myfolder

Вам нужно обратиться за помощью к администратору. Пользователь без прав root, выполняющий mount, должен быть авторизован на это администратором.

Существуют два метода (о которых ваш администратор, вероятно, уже знает):

  • Добавить запись в /etc/fstab для желаемого ресурса
  • Добавить пользователя в файл suders, указав использование команды
    mount.

Для получения дополнительной информации смотрите пост
Redhat: пользователь без прав root должен копировать файлы на NFS ресурс.
Администратор может установить ресурс как доступный только для чтения.

Ответ или решение

Дать доступ к общему ресурсу NFS (чтение/запись) другим пользователям без привилегий root может быть сложной задачей, особенно если сервер настроен для использования NFSv3, который не поддерживает настройку ACL (Access Control Lists). Вот несколько шагов, которые вы можете предпринять:

  1. Обратитесь к администратору: Ваша первая и самая важная задача — связаться с администратором сервера. Вам потребуется его помощь для управления настройками NFS, поскольку вы не имеете права вносить изменения на уровне сервера.

  2. Настройка NFSv4: Попросите администратора рассмотреть возможность использования NFSv4, который поддерживает ACL. В отличие от NFSv3, NFSv4 позволяет устанавливать более гибкие права доступа. Если сервер будет настроен на использование NFSv4, вы сможете использовать инструменты nfs4_getfacl и nfs4_setfacl для управления правами доступа.

    Для добавления прав доступа к каталогу для пользователя, вы можете использовать следующие команды (при наличии соответствующих привилегий на сервере):

    nfs4_setfacl -a "A::someuser:RX" myfolder
    nfs4_setfacl -a "A:fdi:someuser:RX" myfolder

    где someuser — имя пользователя, которому вы хотите предоставить доступ, а myfolder — ваш каталог.

  3. Добавление пользователя в группу: Если активация NFSv4 невозможна, администратор может рассмотреть возможность создания группы пользователей. Вы должны попросить администратора создать новую группу, добавить вас и нужного пользователя в эту группу и настроить права доступа к каталогу с помощью команды chmod и chgrp. Например, команда для установки прав на запись для группы может выглядеть следующим образом:

    chmod 770 myfolder
    chgrp mygroup myfolder

    Здесь mygroup — это группа, созданная администратором.

  4. Использование монтирования: Если администратор решит, что вы можете монтировать общий ресурс, он должен добавить соответствующую запись в /etc/fstab или добавить вас в файл sudoers, чтобы вы могли использовать команду mount для монтирования ресурса. Это может способствовать предоставлению необходимых прав доступа к каталогу.

  5. Модули для расширения функциональности: Если у вас есть доступ к программному обеспечению или модулям, которые работают с NFS, вы можете обсудить с администратором возможность их использования для более удобного управления правами доступа.

Наиболее важный вывод: для успешного решения вопроса вам необходимо сотрудничать с администратором сервера, так как ваши возможности ограничены, если вы не обладаете правами root. Надеюсь, эти рекомендации помогут вам в получении доступа к нужному каталогу.

Оцените материал
Добавить комментарий

Капча загружается...