Linux — как дать доступ к папке пользователям из группы папки?

Я создаю папку, у которой владелец root, а группа у неё rvm и права 775, т.е. полные для группы
и хочу, чтобы пользователи, которые находятся в группе rvm имели доступ к этой папке
но почему-то они не имеют - не могут писать туда.
Что я делаю не так? Как дать возможность другим пользователям, не владельцу, а принадлежащим к этой группе, писать в папку?

Создал скрипт на bash для проверки, который приведен ниже:

вот простой вариант:
#создаем
su -c "mkdir /testfolder123"

su -c "addgroup testgroup123"

su -c "chmod 775 /testfolder123"
su -c "chown root:testgroup123 /testfolder"

su -c "usermod -aG testgroup $USER"

#проверяем права

mkdir /testfolder123/testfolder

#----------------------------подчищаем за собой -------------------
    
su -c "rmdir /testfolder123"
su -c "delgroup testgroup"


а вот более универсальный:

#!/bin/bash

if [ $USER == 'root' ]
then
    echo "этот скрипт бессмысленно выполнять от пользователя root, он предназначен для выявления прав пользователя с ограниченными правами"
    exit
fi

    echo Ваш пользователь: $USER

release=$(lsb_release -a)

echo $release

if [[ "$release" == *Ubuntu* ]]
then
    echo "Вы выполняете скрипт под Ubuntu"


echo "создаем папку в корне диска"
echo "как назовём папку?:"
read NEWDIR
sudo mkdir /$NEWDIR

echo "создаем новую группу"
echo "как назовём группу?:"
read NEWGROUP
sudo addgroup $NEWGROUP

echo "устанавливаем права на нашу папку 775 и владельца root:$NEWGROUP"
sudo chmod 775 /$NEWDIR
sudo chown root:$NEWGROUP /$NEWDIR

echo "добавляем текущего пользователя в созданную группу"
sudo usermod -aG $NEWGROUP $USER
echo "пользователь добавлен в новую группу, проверяем:"
id $USER

echo "создана папка, она добавлена в группу и высталвены полные права на группу, текущий пользователь добавлен в эту же группу, проверяем добавление подпапки в папку"
mkdir /$NEWDIR/testfolder

#----------------------------подчищаем за собой -------------------

echo "нажмите любую кнопку для продолжения. после нажатия будут удалены созданные нами изменения - удалена группа, удалена папка"
stty -echo
read -n 1
stty echo

sudo rmdir /$NEWDIR
sudo delgroup $NEWGROUP

else
    echo "Вы выполняете скрипт не под Ubuntu, а под другим дистрибутивом, sudo может не работать, поэтому выполняем скрипт по-другому"

echo "создаем папку в корне диска"
echo "как назовём папку?:"
read NEWDIR

su -c "mkdir /$NEWDIR"

echo "создаем новую группу"
echo "как назовём группу?:"
read NEWGROUP
su -c "addgroup $NEWGROUP"

echo "устанавливаем права на нашу папку 775 и владельца root:$NEWGROUP"
su -c "chmod 775 /$NEWDIR"
su -c "chown root:$NEWGROUP /$NEWDIR"

echo "добавляем текущего пользователя в созданную группу"
su -c "usermod -aG $NEWGROUP $USER"
echo "пользователь добавлен в новую группу, проверяем:"
id $USER

echo "создана папка, она добавлена в группу и высталвены полные права на группу, текущий пользователь добавлен в эту же группу, проверяем добавление подпапки в папку"
mkdir /$NEWDIR/testfolder

#----------------------------подчищаем за собой -------------------
    
echo "нажмите любую кнопку для продолжения. после нажатия будут удалены созданные нами изменения - удалена группа, удалена папка"
stty -echo
read -n 1
stty echo

su -c "rmdir /$NEWDIR"
su -c "delgroup $NEWGROUP"


fi
  • Вопрос задан
  • 9408 просмотров
Пригласить эксперта
Ответы на вопрос 1
nonlux
@nonlux
Сергей +1

После
usermod -aG testgroup $USER
У пользователя не добавляется новая группа автоматически, требуется перезайти им.
Проверь groups
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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