@kickbokser

Как выдать права пользователю через скрипт?

Всем привет. Подскажите пожалуйста, как правильно сделать. Это код для установки дополнений пользователям. После установки качается zip архив с сайта и распаковывается в папку
пользователя. Так же файлам выдаются права пользователя, после его удаления используется такой скрипт:
rm bin/start.so
rm bin/stop.so

Но если человек удаляет это дополнения, его проект перестает запускаться, так как удаляются нужные для запуска файлы. Подскажите пожалуйста, что можно дописать в скрипт удаления,
чтобы можно было обратно вернуть на дефолт. Я сделал так:
rm bin/start.so
rm bin/stop.so
cd bin
wget ***.ru/dl/start.so
wget ***.ru/dl/stop.so

Все отлично работает, но файлам выдаются root права.
  • Вопрос задан
  • 481 просмотр
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
добавить chmod с нужными правами?
man chmod
man chown
man stat

# получаем юзернейм овнера для текущей папки "."
OWNER_USER=`stat -c %U .` 
# получаем групнейм группы для текущей папки "."
OWNER_GROUP=`stat -c %G .`
# проставляем владельца и группу
chown ${OWNER_USER}:${OWNER_GROUP} file
# проставляем права доступа 771
chmod 771 file
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Frankenstine
@Frankenstine
Сисадмин
Исполнимые файлы (а .so это бинарники формата ELF) как раз и должны принадлежать руту. Пользователи не должны являться их владельцами, или иным способом иметь возможность изменения исполнимых файлов. Это основы безопасности в *nix системах. Так ли нужно вам делать иначе?
Ответ написан
Ваш ответ на вопрос

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

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