He visto muchas publicaciones de blog que dicen que es suficiente
aptitude install sudo
su root
adduser USERNAME sudo
Pero eso solo protege aptitude
, en otras palabras:
aptitude install sendmail
le pedirá una contraseña, debesudo
ejecutaraptitude
apt-get install sendmail
no pedirá contraseña, no sesudo
necesitan privilegiosSi edita archivos protegidos, como los archivos
etc
que contiene no solicitará contraseña, nosudo
necesita privilegiosPuede ejecutar y detener servicios como
apache
, no solicitará contraseña, nosudo
necesita privilegios
¿Cómo arreglar esto? Este es mi archivo sudoers:
This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
Esta es la salida de sudo -l
:
Matching Defaults entries for root on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User root may run the following commands on this host:
(ALL : ALL) ALL
(ALL : ALL) ALL
sudo
root
not-root-user
debian
Lynob
fuente
fuente
su root
, inicia sesión comoroot
usuario, por lo que tiene acceso completo a todo. Para volver a ser un usuario habitual que tiene que usarsudo
para operaciones privilegiadas, cierre la sesión del shell comoroot
.Respuestas:
No ha agregado ninguna regla de sudo, por lo que no puede usar sudo para nada.
El comando
adduser USERNAME sudo
agrega el usuario especificado al grupo llamadosudo
. Debe existir un grupo con ese nombre; crearlo conaddgroup sudo
si no lo hace. Después de agregar al usuario al grupo, el usuario debe cerrar sesión y volver a iniciarla para que la membresía del grupo surta efecto.sudo
No es un nombre de grupo especial. Es una convención permitir a los usuarios en el grupo llamadosudo
ejecutar comandos como root a través de lasudo
utilidad. Esto requiere la siguiente línea en elsudoers
archivo:Ejecute
visudo
para editar el archivo sudoers, nunca lo edite directamente.No tengo idea de por qué crees que "eso solo protege la aptitud". No hay nada especial en la aptitud. Una vez que haya autorizado a un usuario para ejecutar comandos como root, ese usuario puede ejecutar
sudo aptitude …
osudo apt-get …
osudo service …
, osudoedit
editar archivos que requieren permiso de root para editar. Estar en el archivo sudoers no cambia directamente los privilegios de su usuario, lo que hace es que le permitesudo
ejecutar comandos para ejecutar como root. Los comandos se ejecutan como root solo cuando los ejecutasudo
. Algunos programas pueden hacerlo automáticamente, especialmente los programas GUI donde la interfaz de usuario se ejecuta sin privilegios especiales y solo el backend se ejecuta como root, pero los comandos ejecutados como root siempre se ejecutan porsudo
.fuente
sudo -l
como root. Incluso si hay definiciones útiles para los usuarios, no se habrían mostrado. Por lo tanto, su suposición "No ha agregado ninguna regla de sudo" puede estar equivocada.sudoers
archivo está en la pregunta.sudo -l
salida, pero por suerte ... Parece que el contenido de la pregunta no puede ser todo el archivo porque no es consistente con la salida. Al menos misudo
versión no dice "El usuario root puede ejecutar los siguientes comandos"sudoers
sin una definición de comando (como la de la pregunta).sudo -l
solo dice "El usuario root no puede ejecutar sudo en darkstar". Y elsudo
grupo está en el archivo sudoers por defecto en wheezy. Las entradas requeridas pueden haberse movido a un archivo debajo/etc/sudoers.d
. En cualquier caso, sea lo que sea que contenga el archivo sudoers, no haría lo que Fischer supone.Lo que pudo haber sucedido es: sudo está almacenando en caché su contraseña. Entonces, después de haber completado correctamente la implementación de sudo en su sistema, debe ingresar la contraseña para el primer comando, y luego se almacena en la memoria caché durante algún tiempo. Si eso sucede y ejecutas la secuencia
Luego, deberá proporcionar una contraseña en el primer comando, pero no en el segundo (al menos mientras esté dentro del tiempo de espera). Esto puede parecer que está protegiendo solo el primer comando, pero no el segundo. Sin más información (transcripciones de shell completas), no hay forma de saber ...
fuente
Si sigues la respuesta anterior, vas por el camino correcto. Al menos en mi Debian Jessie, hice un enlace suave a / usr / bin del comando en la ruta / sbin. Por ejemplo: / sbin / ifup, pongo un enlace suave (ln -s) a / usr / bin y puedo usarlo.
Otra cosa importante es poner NOPASSWD así:
fuente