Не могу ставить/менять темы, плагины и прочее пока не установлю права 777
Это означает, что владелец файлов и папок не имеет прав на запись, например, заливали от пользователя root или username, а исполняется все от www-data или другого юзера. Необходимо менять владельца, а не права.
Насколько это безопасно?
Совсем небезопасно. Давайте разберем коды прав, чтобы вы понимали как это работает:
Каждая из 3х цифр отвечает за права:
1. Пользователя
2. Группы
3. Всех желающих (world)
Каждая цифра - это octal notation конкретных прав (
rwx):
Чтение (
read)
Запись (
write)
Исполнение (e
xecute)
Что означают конкретные цифры (и буквы):
7 read, write and execute rwx
6 read and write rw-
5 read and execute r-x
4 read only r--
3 write and execute -wx
2 write only -w-
1 execute only --x
0 none ---
Поэтому, 777 означают, что и владелец файла, и любой пользователь входящий в группу файла, и вообще кто угодно (1я, 2я и 3я цифры соответственно) имеют права "read, write and execute" - читать, писать в файл и исполнять его. Отсюда и опасность - вы разрешаете всем подряд запись в файлы.
Правильные права для папок - 755. Владелец может читать, писать и исполнять, группа и мир могут читать и исполнять. Права исполнения на папки нужны группе и миру чтобы можно было в директорию попасть.
Правильные права для файлов - 644. Владелец может читать и писать (исполнять файлы не нужно),
группа и мир могут только читать файлы (что и является важным с точки зрения безопасности).
Для некоторых файлов права могут быть еще более жесткие, например wp-config.php достаточно чтобы был доступен для чтения и записи только пользователем, остальные не должны иметь доступа вообще (чтобы не видеть пароли, например) - тогда права выставляются 600 (владельцу можно читать и писать - 6, остальным доступ закрыт - 0).