Это может звучать нечетным.
Мое имя пользователя является человечностью, и мою машину называют человечностью.
То, что я хочу, - когда я создаю файл в некоторой папке, что она имеет подпись
user group
ubuntu www-data
в данный момент независимо от того, что я создаю, имеет подпись
ubuntu ubuntu
Я могу просто удалить своего пользователя из человечности группы и добавить его к www-данным группы?
sudo chgrp www-data *yourfile*
сделает это для отдельных файлов.
, чтобы сделать это для всех файлов в рамках определенного каталога, изменитесь, группа для того каталога с той же командой
sudo chgrp www-data /path/to/your/dir
затем используют эти chmod
, команда для создания всех файлов созданными в рамках того каталога принадлежит группе, которой принадлежит каталог с
sudo chmod g+s /path/to/your/dir
Принятие Вас только хочет изменить группу и сохранить пользовательское значение, попробовать
sudo, показанный newuser:newgroup sample.txt
или в Вашем случае:
sudo, показанный ubuntu:www-данные, sample.txt
Затем работает
sudo chmod g+w sample.txt
Мы можем создать простую функцию, на основе 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
Вы могли создать www-пользователя-данных с группой www-данных, как их основное устройство [видит useradd
, adduser
, или например, kuser
], изменение в том пользователе [su www-data
] и затем все сделанные файлы принадлежали бы этому user:group.
Резервное копирование /etc/group
(или весь / и т.д.) сначала прежде, чем смешать с группами. Также поиск, что сделать, если Вы заблокированы из-за полномочий группы.
Или, Вы могли изменить основную группу пользователя, названного "человечностью", чтобы быть www-данными:
sudo usermod --gid www-data ubuntu
.
Могут быть проблемы безопасности с позже, как это могло бы в какой-то момент (например, объединился с другими ошибками), выставляют все файлы, принадлежавшие той группе к Вашему веб-серверу. Точка группы www-данных - то, что только тем файлам, принадлежавшим ей, позволяют быть отправленными внешне сервером (апач, nginx, безотносительно). Наличие всех Ваших стандартных пользовательских файлов входа в систему принадлежит той группе, таким образом создает риск.
Команда sg
может выполнять команду под другим идентификатором группы. Если вы являетесь членом группы newgroup
, это должно создать newfile
в этой группе:
sg newgroup "touch newfile"