1

Я являюсь членом нескольких групп, скажем, Master, Student, Web. Проблема в том, что по умолчанию все, что я делаю, сначала создается в группе студентов. Мне нужно установить его так, чтобы он создавался с помощью веб-группы.

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

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

Если я выполняю groups он перечисляет все группы, поэтому я являюсь членом правильной группы, я просто не могу записать в папку.

Кто-нибудь?

4 ответа4

0

Если вы введете «id», вы увидите свою основную группу, обозначенную как что-то вроде gid = 1000(student). По умолчанию все файлы будут созданы с этой группой.

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

Вы уверены, что права на www правильные? Сделайте 'ls -ld www'.

0

Вы уверены, что находитесь в правильной веб-группе? В Ubuntu это, вероятно, означает попеременный запуск usermod -a -G www-data yourname , www может иметь неправильные разрешения. Убедитесь, что он установлен так, чтобы члены группы имели доступ для чтения / записи: chmod -R 770 /var/www .

0

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

# set "web" as the primary group for user "username"
$ sudo usermod -g web username

Или вы можете поместить newgrp web (или как там будет называться имя группы) в ваш .bashrc , где-то рядом с концом файла, чтобы "входить" в веб-группу каждый раз, когда вы входите в систему - без изменения основной группы вашего пользователя. newgrp (manpage) устанавливает "эффективный идентификатор группы". Часы:

# what's my current effective GID?
$ id -g
1000

# "login" to another group 
$ newgrp www-data

# now what's my effective GID?
$ id -g
33
0

Если в Ubuntu нет ничего необычного, если вы сделаете разрешения для целевого каталога «SGID», то все файлы, созданные в каталоге, будут принадлежать группе, которой принадлежит каталог:

chmod g+s /var/www

Теперь все файлы в /var/www будут по умолчанию создаваться с помощью группы 'web', которой (я полагаю) принадлежит каталог.

MacOS X по умолчанию использует это поведение, даже если в каталоге не установлен бит SGID.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .