¿Cuál es la forma o método más fácil para automatizar la adición de un usuario a un archivo de sudoers fresco?

StackOverflow https://stackoverflow.com/questions/5347489

  •  27-10-2019
  •  | 
  •  

Pregunta

Entonces, he adjunto a Micronxd. He pasado Micronxd. Ahora quiero hacer de Micronxd un usuario de sudo.

Estoy tratando de empacar tanto de este proceso en un script de shell como sea posible. Si es posible, ¿podría la solución involucrar a la sede del archivo de sudoers? Me gustaría obtener una comprensión realmente fuerte de esa pequeña pepita bestial (SED).

¿Fue útil?

Solución

los sudoers El archivo realmente solo debe editarse con visudo(8).

Dicho esto, tal vez deberías agregar micronxd hacia wheel agrupar al agregar el micronxd usuario, (ver adduser(8) --add_extra_groups opción) y luego agregue esta línea a sudoers (a través de visudo(8) :) :

%wheel ALL=(ALL) ALL

Ahora, cada usuario que crea con el grupo primario o un grupo complementario de wheel obtiene sudo acceso automáticamente. Es posible que nunca necesite editar el sudoers archivo nuevamente.

(Tenga en cuenta que puede agregar fácilmente a cualquiera que desee al wheel grupo; vigr(8), encuentra el wheel agrupar y agregar su nombre de inicio de sesión a la línea. Use comas para separar los nombres de usuario).

Otros consejos

¡OK OK OK! Lo tengo totalmente. Esto puede ser un poco exagerado, pero no estoy seguro de si los archivos de sudoers son iguales a través de DIFF DISTROS.

Encontré documentación en el búfer de retención para SED aquí: http://anaturb.net/sed.htm

y en el comando X para SED aquí: http://www.kingcomperserservices.com/unix_101/hands_off_editing_with_sed_part_2.htm

Y se me ocurrió esto:sed -e '/^root/{h;}' -e 'x' -e 's/root/micronxd/' -e 'x' -e '/^root/G' -e 'wsudoers' sudoers

Aquí está el desglose de los 6 pasos:

1. '/^root/{h;}'

encuentra líneas no commentadas que comienzan con raíz, y reemplaza el búfer de retención con él.

  • Buffer SED regular: [todo el archivo de sudoers
  • manteniendo búfer: root todos = (todos) todos

2. 'X'

Cambia el búfer de retención con el amortiguador regular "para ser sed'd".

  • Buffer SED regular: root todos = (todos) todos
  • Buffer de retención: [todo el archivo de sudoers

3. 's/root/micronxd/'

reemplaza la raíz con micronxd

  • Buffer SED regular: Micronxd All = (All) All
  • Buffer de retención: [todo el archivo de sudoers

4. 'X'

Cambia el búfer de retención con el amortiguador regular "para ser sed'd", nuevamente.

  • Buffer SED regular: [todo el archivo de sudoers
  • manteniendo búfer: Micronxd All = (All) All

5. '/^raíz/g'

El G agrega el búfer de retención después de la línea de la línea ^raíz.

  • Buffer SED regular (solo los bits relevantes):

## Permitir a Root All = (All) todos para ejecutar cualquier comando en cualquier lugar
root todos = (todos) todos
Micronxd All = (All) All

  • manteniendo búfer: Micronxd All = (All) All

6. 'wsudoers'

escribe el búfer SED regular a sudoers

Estoy seguro de que hay una mejor manera, pero estoy tratando de entender SED. Además, no estaba seguro de si user MACHINE=COMMANDS ???? es la sintaxis para todos los sistemas de Linux, o simplemente Fedora (que es lo que estoy tratando).

De todos modos, estoy feliz de ver otras formas (especialmente mejores formas).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top