Как создать файл как определенная группа

Это может звучать нечетным.

Мое имя пользователя является человечностью, и мою машину называют человечностью.

То, что я хочу, - когда я создаю файл в некоторой папке, что она имеет подпись

user      group
ubuntu    www-data

в данный момент независимо от того, что я создаю, имеет подпись

ubuntu    ubuntu

Я могу просто удалить своего пользователя из человечности группы и добавить его к www-данным группы?

1
задан 12 April 2017 в 00:35

5 ответов

sudo chgrp www-data *yourfile* сделает это для отдельных файлов.

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

sudo chgrp www-data /path/to/your/dir

затем используют эти chmod, команда для создания всех файлов созданными в рамках того каталога принадлежит группе, которой принадлежит каталог с

sudo chmod g+s /path/to/your/dir

3
ответ дан 3 December 2019 в 06:38

Принятие Вас только хочет изменить группу и сохранить пользовательское значение, попробовать

sudo, показанный newuser:newgroup sample.txt

или в Вашем случае:

sudo, показанный ubuntu:www-данные, sample.txt

Затем работает

sudo chmod g+w sample.txt

0
ответ дан 3 December 2019 в 06:38

Мы можем создать простую функцию, на основе touch и chown команды, которые создадут новые пустые файлы и изменят их полномочия одновременно. Или когда файл существует, он просто изменит свои полномочия. С этой целью введите в терминале:

function touch-www { touch $1; chown $USER:www-data $1; }
export -f touch-www

Теперь у нас есть новая команда, названная touch-www, и мы можем использовать его таким образом:

touch-www /path/to/file

Чтобы быть возможным использовать эту новую команду везде в файловой системе позволяют нам изменить функцию таким образом:

function touch-www { sudo touch $1; sudo chown $USER:www-data $1; }
export -f touch-www

Однажды файл имеют достаточно полномочий, мы можем отредактировать его с текущим пользователем. Поэтому давайте предположим, что мы хотим использовать и nano в пути, описанном здесь. Давайте создадим новую функцию:

function nano-www { sudo touch $1; sudo chown $USER:www-data $1; nano $1; }
export -f nano-www

Чтобы быть этими новыми командами, постоянно доступными, мы можем добавить эти строки в нижней части ~/.bashrc файл:

function touch-www { sudo touch $1; sudo chown $USER:www-data $1; }
export -f touch-www

function nano-www { sudo touch $1; sudo chown $USER:www-data $1; nano $1; }
export -f nano-www
2
ответ дан 3 December 2019 в 06:38

Вы могли создать www-пользователя-данных с группой www-данных, как их основное устройство [видит useradd, adduser, или например, kuser], изменение в том пользователе [su www-data] и затем все сделанные файлы принадлежали бы этому user:group.

Резервное копирование /etc/group (или весь / и т.д.) сначала прежде, чем смешать с группами. Также поиск, что сделать, если Вы заблокированы из-за полномочий группы.

Или, Вы могли изменить основную группу пользователя, названного "человечностью", чтобы быть www-данными:

sudo usermod --gid www-data ubuntu.

Могут быть проблемы безопасности с позже, как это могло бы в какой-то момент (например, объединился с другими ошибками), выставляют все файлы, принадлежавшие той группе к Вашему веб-серверу. Точка группы www-данных - то, что только тем файлам, принадлежавшим ей, позволяют быть отправленными внешне сервером (апач, nginx, безотносительно). Наличие всех Ваших стандартных пользовательских файлов входа в систему принадлежит той группе, таким образом создает риск.

0
ответ дан 3 December 2019 в 06:38

Команда sg может выполнять команду под другим идентификатором группы. Если вы являетесь членом группы newgroup, это должно создать newfile в этой группе:

sg newgroup "touch newfile"

(Источник: https://unix.stackexchange.com/questions /18796/как-применить-изменения-ново-добавленных-групп-пользователей-без-перезагрузки)

3
ответ дан 2 January 2020 в 08:33

Другие вопросы по тегам:

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