Crear usuario que pueda hacer login pero sólo pueda ejecutar un programa.
Hola a tod@s, Estoy dándole vueltas a una necesidad que tengo y no encuentro la forma. Necesito crear un usuario que se pueda conectar por SSH pero que no pueda ejecutar nada, ni siquiera un "ls", y sólo ejecute los comandos que yo le especifique. Estoy creando el usuario de esta forma: # groupadd noejecutan # useradd -M -g noejecutan -c "Usuario 01" usuario-01 # passwd usuario-01 Así, me puedo logar por SSH y puedo ejecutar "ls", "mysql", etc..., aunque no me permite ejecutar un "rm". Si edito el "/etc/sudoers" y pongo: Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig Cmnd_Alias LOCATE = /usr/sbin/updatedb Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall Cmnd_Alias DRIVERS = /sbin/modprobe Defaultsenv_reset Defaultsenv_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY" rootALL=(ALL) ALL %noejecutan ALL = (ALL) !ALL %noejecutan ALL = NOPASSWD: /usr/bin/mysql No consigo nada, puede hacer lo mismo. ¿Qué podría hacer para conseguir lo que quiero?, vamos, si es que es posible... Espero haberme explicado... Saludos y gracias, Ramses
Re: Crear usuario que pueda hacer login pero sólo pueda ejecutar un programa.
Edita el /etc/passwd y modifica la Shell de entrada del usuario por el comando que se permite ejecutar El 20 ene. 2018 10:27 AM, "Ramses II" escribió: > Hola a tod@s, > > Estoy dándole vueltas a una necesidad que tengo y no encuentro la forma. > > Necesito crear un usuario que se pueda conectar por SSH pero que no > pueda ejecutar nada, ni siquiera un "ls", y sólo ejecute los comandos > que yo le especifique. > > Estoy creando el usuario de esta forma: > > # groupadd noejecutan > > # useradd -M -g noejecutan -c "Usuario 01" usuario-01 > > # passwd usuario-01 > > Así, me puedo logar por SSH y puedo ejecutar "ls", "mysql", etc..., > aunque no me permite ejecutar un "rm". > > Si edito el "/etc/sudoers" y pongo: > > > > Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, > /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, > /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool > Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum > Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig > Cmnd_Alias LOCATE = /usr/sbin/updatedb > Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, > /sbin/partprobe, /bin/mount, /bin/umount > Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, > /bin/chgrp > Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, > /usr/bin/killall > Cmnd_Alias DRIVERS = /sbin/modprobe > > Defaultsenv_reset > Defaultsenv_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ > LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ > LANG LC_ADDRESS LC_CTYPE LC_COLLATE > LC_IDENTIFICATION \ > LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME > LC_NUMERIC \ > LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE > LINGUAS \ > _XKB_CHARSET XAUTHORITY" > > rootALL=(ALL) ALL > > %noejecutan ALL = (ALL) !ALL > %noejecutan ALL = NOPASSWD: /usr/bin/mysql > > > > No consigo nada, puede hacer lo mismo. > > ¿Qué podría hacer para conseguir lo que quiero?, vamos, si es que es > posible... > > Espero haberme explicado... > > > Saludos y gracias, > > Ramses > >
Re: Crear usuario que pueda hacer login pero sólo pueda ejecutar un programa.
El 20 de enero de 2018 17:22:13 CET, Ricardo Frydman escribió: >Edita el /etc/passwd y modifica la Shell de entrada del usuario por el >comando que se permite ejecutar > >El 20 ene. 2018 10:27 AM, "Ramses II" >escribió: > >> Hola a tod@s, >> >> Estoy dándole vueltas a una necesidad que tengo y no encuentro la >forma. >> >> Necesito crear un usuario que se pueda conectar por SSH pero que no >> pueda ejecutar nada, ni siquiera un "ls", y sólo ejecute los comandos >> que yo le especifique. >> >> Estoy creando el usuario de esta forma: >> >> # groupadd noejecutan >> >> # useradd -M -g noejecutan -c "Usuario 01" usuario-01 >> >> # passwd usuario-01 >> >> Así, me puedo logar por SSH y puedo ejecutar "ls", "mysql", etc..., >> aunque no me permite ejecutar un "rm". >> >> Si edito el "/etc/sudoers" y pongo: >> >> >> >> Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, >> /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, >> /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool >> Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum >> Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig >> Cmnd_Alias LOCATE = /usr/sbin/updatedb >> Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, >> /sbin/partprobe, /bin/mount, /bin/umount >> Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, >> /bin/chgrp >> Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, >> /usr/bin/killall >> Cmnd_Alias DRIVERS = /sbin/modprobe >> >> Defaultsenv_reset >> Defaultsenv_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC >KDEDIR \ >> LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ >> LANG LC_ADDRESS LC_CTYPE LC_COLLATE >> LC_IDENTIFICATION \ >> LC_MEASUREMENT LC_MESSAGES LC_MONETARY >LC_NAME >> LC_NUMERIC \ >> LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE >> LINGUAS \ >> _XKB_CHARSET XAUTHORITY" >> >> rootALL=(ALL) ALL >> >> %noejecutan ALL = (ALL) !ALL >> %noejecutan ALL = NOPASSWD: /usr/bin/mysql >> >> >> >> No consigo nada, puede hacer lo mismo. >> >> ¿Qué podría hacer para conseguir lo que quiero?, vamos, si es que es >> posible... >> >> Espero haberme explicado... >> >> >> Saludos y gracias, >> >> Ramses >> >> Ricardo, muchas gracias. Te refieres a cambiar el ":/bin/bash" por, por ejemplo, ":/usr/bin/mysql". Pero, ¿y si quiero que ejecute, por ejemplo, estos 3 comandos: mysql, mcedit y cp? Saludos y gracias, Ramses
Usuarios unilogin debian
Hola lista, quisiera saber cómo podría crear un usuario que solo pueda hacer una sola conexión a través de ssh. Gracias de antemano