Рейтинг:1

Delete files from root owned folders without sudo

флаг cn

There is an application that creates logs owned by root user (this cannot be changed, at least in my work environment) in the directory logs: enter image description here

This app is executed through a docker-compose and Makefile, and it will be stopped and resumed several times. So I want to execute the app, it will generate logs, stop the app and delete the logs and after a certain amount of time, execute the app again, which will generate new logs.

Deleting the logs (all the subfolders and files that are within the logs folder) has to be done with the command rm -rf logs, without sudo involved, because it is made by a Makefile that is also executed in Mac computers. In Mac, if you have a sudo command, it will ask for a password, and I don't want that.

I have added write permissions to the folder with sudo chmod a+rwx and sudo chmod 777 (have tried both because didn't make it work), which according to a few questions might be enough.

I have also added the ubuntu user to the root group as stated in for example https://unix.stackexchange.com/a/139284, with:

adduser ubuntu root

And

usermod -aG root sysadmin

Following this, https://askubuntu.com/a/213959/999435, I have restarted the server after that.

But still, I am unable to remove the files. How could I do this?

pLumo avatar
флаг in
Пожалуйста, расскажите нам, в чем ваша первоначальная проблема, почему вам нужно удалить эти файлы без использования `sudo`? Также прочитайте https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem.
флаг cn
Спасибо. Я развертываю приложение как в локальном MAC, так и в Ubuntu EC2 с Makefile, в котором есть команда, которая останавливает создание докера и удаляет журналы. Если я добавлю sudo в rm, на моем Mac мне нужно ввести пароль, чего я не хочу. Следовательно, необходимость удаления без sudo
bac0n avatar
флаг cn
Чтобы удалить содержимое журналов, вы должны выполнить `rm -rf logs/*`, установив группу для группы пользователей `chown root.bac0n logs`, тогда `chmod 775 logs`, вероятно, лучше, чем 777.
флаг cn
«это нельзя изменить» 100% уверенность, что это можно изменить: воздушный поток использует пользовательский воздушный поток, который является частью корневой группы. `sudo chmod 777` никогда не бывает правильным ответом. @ bac0n Я бы даже сказал, что более 750 — это проблема безопасности. "adduser ubuntu root" Извините? Нет, просто нет.
bac0n avatar
флаг cn
@Rinzwind: я должен был быть более ясным, пропустите это с помощью adduser и usermod, вам нужно только изменить группу в `logs` на пользователя, который должен иметь право удалять содержимое `logs/*` (в данном случае, это вроде бы убунту) если есть несколько пользователей нуждающихся в удалении контента, есть возможность создать общую группу, но для нее все равно нужно как минимум `770`.
muru avatar
флаг us
Не должно быть так сложно добавить проверку в ваш Makefile, чтобы использовать `sudo` только в Linux.
Рейтинг:0
флаг by

Использовать sudo chown -R пользователь: имя_каталога

флаг cn
Спасибо за Ваш ответ. После этого приложение больше не сможет создавать новые журналы. Извините, что не объяснил это в описании. я обновил вопрос

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.