[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ejecucion script como root





El día 20 de mayo de 2008 10:34, Jose Luis Garcia <aluete@gmail.com> escribió:
ya lo he probado, con comillas dobles y simples.

El día 20 de mayo de 2008 10:31, glic3Rinu <glicerinu@gmail.com> escribió:
>> el espacio me lo he comido, en realidad el comando que ejecuto es el siguiente
>>
>> ssh user1@maquina su - root -c useradd -m -g grupo user2
>
> Quizas tengas que poner comillas dobles o simples :S:S
>
> ssh user1@maquina su - root -c "useradd -m -g grupo user2"
>
> saludos,
>
> 2008/5/20 Jose Luis Garcia <aluete@gmail.com>:
>> Hola,
>>
>> el espacio me lo he comido, en realidad el comando que ejecuto es el siguiente
>>
>> ssh user1@maquina su - root -c useradd -m -g grupo user2
>>
>> en cuanto al sudo baraje esa opción pero debería de entrar en cada una
>> de las máquinas y dar permisos en el sudo a ese usuario, y esatmos
>> hablando de unas 300 máquinas, por eso necesito algún script que haga
>> lo que necesito, ¿podeis ayudarme?
>>
>> gracias
>>
>> El día 20 de mayo de 2008 0:08, angel <dus.angel@gmail.com> escribió:
>>> El lun, 19-05-2008 a las 09:24 +0200, Jose Luis Garcia escribió:
>>>> Hola,
>>>>
>>>> tengo la siguiente duda, he creado un script, el cual debe de
>>>> ejecutarse como root en una máquina remota. El problema es el
>>>> siguiente, no me puedo conecta como root, mediante ssh, debo
>>>> conectarme con otro usuario 8user1, p.e) y posteriormente ejecutar
>>>> como un comando, por ejemplo añadir un usuario, en concretohe puesto
>>>> lo siguiente en el script:
>>>>
>>>> ssh user1@maquina su - root -c useradd -m - g grupo user2
>>>>
>>>>
>>>> al ejecutar me arroja el siguiente error:
>>>>
>>>> useradd: Too few arguments.
>>>> Try `useradd --help' or `useradd --usage' for more information
>>>>
>>>> ¿ que estoy haciendo mal? ¿ puedo hacerlo de otramanera?
>>>>
>>>>
>>> Deberias utilizar sudo
>>> pero el error que te esta marcando es por el '- g', va sin espacios
>>>
>>> man sudo
>>>
>>>> Graci as,
>>>>
>>>> Saludos
>>>>

Buenas tardes... Antes de nada, disculpas a Jose y a Ángel, que les envié mails "privados" en vez de enviarlos a la lista... pero el gmail no reconoce cuándo el mail procede de una lista de correo y al darle a responder lo hace sólo al destinatario, o al menos eso creo.

Ahora vamos a la chicha y por partes. Si te he entendido bien lo que tú quieres hacer es ejecutar un script en una máquina remota A siendo un usuario normal desde una máquina B (llamémosle local). Dicho script haría un su, se autentificaría como root y ejecutaría ese useradd con los parámetros pertinentes en esa máquina A.

La duda que tengo, es que aunque tú hagas un su - root, te tienes que autentificar con la contraseña y hasta donde yo sé, y de hecho en el "man su" no aparece, "su" no tiene la opción de autentificación por parámetro... sólo la interactiva como hace por defecto...

Si lo anterior es cierto, se me ocurren varias soluciones para no usar el "su" depediendo de lo que puedas o no puedas hacer en esos servidores...
1. Crearte un shell script en la máquina remota y ponerlo setuid, así el paso de autentificarte como root te lo saltas.
2. Meter a tu usuario en el grupo de root y ejecutar el comando sin hacer ese su.
3. Usar sudo
4. Habilitar el login de root en el sshd_config

Las propuestas están ordenadas de menor a mayor impacto, tanto en aspectos de configuración como de seguridad, que eso ya dependerá de tu caso en concreto.

Espero que haya sido de alguna utilidad y no haberme equivocado demasiado.

Un saludo!

Reply to: