D
D
demsi2016-02-26 17:41:17
linux
demsi, 2016-02-26 17:41:17

Are there standard web interfaces that can be customized to fit your needs, for example for a bash script?

There is a certain bash script, or rather a whole project written in bash (+ not a lot of php )
Its main functionality is to build and then deploy various projects.
This script is run as a user on the server who has access ( ssh ) to the servers where the projects are running. Access is required for deployment.
I would like different people to be able to deploy, but at the same time giving access to the user on the server from which the deployment comes is not very secure, of course. In this case, these people will have full access to projects in production.
The best thing that came to my mind was to make some kind of web interface to this project in bash.
The idea is that users will only have access to specific actions.
For example , User1 has the right to deploy to Project1 .
He presses the "Deploy" button, then he checks his rights to this action, then launches bash scripts with the necessary parameters.
Actions are not limited to deployment and assembly. There's a lot more. But this does not change the essence.
I myself am a system administrator, good knowledge of bash , perl , basic php , basic knowledge of ruby ​​( puppet). But on them I write only system scripts. I have absolutely no experience in web development, layout, and I am a useless designer. So I want to take something ready and customize it to fit my needs.
1) Are there any solutions to help implement this web interface?
2) Perhaps there are some similar implemented things in which I could "peep" how people do it or how to do it correctly. I will be glad to links.
3) I will be happy with advice on how to implement the task differently.
UPD1.
Then I thought that it is possible to implement this scheme through sudo .
There will be users who will have the rights to run the script only with certain parameters on behalf of the user for deployment.
That is, for example, add the following line to sudoers:

User1 ALL = (deploy) NOPASSWD: script -p project1 -a deploy

If you need to allow it to deploy to the project2 project, then add one more line:
User1 ALL = (deploy) NOPASSWD: script -p project2 -a deploy

Basically a working solution. For users, of course, it's not beautiful, everything is through the console. But I, as an admin, will be satisfied that the user will not go into the database or code in production.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
V
Victor Taran, 2016-02-26
@shambler81

dude, don't spin the bike.
ping, you know, also runs from root, because it has access to eth0 , and in fact every sucker user can use it.
You will have quite enough rights to Unix systems
, look more carefully.
help.ubuntu.ru/wiki/%D1%81%D1%82%D0%B0%D0%BD%D0%B4...
especially SUID SGID

S
sim3x, 2016-02-26
@sim3x

3) I will be happy with advice on how to implement the task differently.
https://en.wikipedia.org/wiki/Continuous_integration

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question