... pero aún se requiere para aplicaciones que necesitan privilegios de administrador?
Para permitir lo siguiente:
$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
$ sudo !!
sudo apache2ctl restart #no password asked
$ #works!
Como referencia, he visto esta configuración en instancias de Amazon e3
¿Alguna idea?
sudo
authentication
tutuca
fuente
fuente
Respuestas:
Necesita editar el archivo sudoers. Tenga en cuenta que el éxito le brinda un sistema menos seguro y el fracaso puede romper sudo. SIEMPRE edite el archivo sudoers con
sudo visudo
, como visudo comprueba si hay errores y no guardará el archivo si se encuentra alguno.Es una mala idea dar permiso a todo para que se ejecute como root sin una contraseña, por lo que simplemente debe dejar pasar el ejecutable que necesita (apache2ctl); agregue lo siguiente al final del archivo:
Si lo desea, puede reemplazar la ruta a un ejecutable con "TODO", lo que le proporciona un sudo sin contraseña completo.
Reemplace YOURNAME con su nombre de usuario y presione Ctrl+ Xpara guardar y salir. Si ocurrió un error, ofrecerá revertir, editar o guardar de todos modos.
Asegúrese de utilizar la ruta completa a un ejecutable:
es decir.
/usr/bin/apache2ctl
en lugar de sóloapache2ctl
. Esto es importante porque sin indicar explícitamente la ruta sudo permitirá que cualquier programa llamado apachectl en la ruta actual del usuario se ejecute como root.fuente
%YOURNAME
dará permiso al grupo nombrado como su usuario, lo que normalmente no es un problema, ya que cada usuario normal tiene un grupo con nombre similar en los sistemas Ubuntu. Para dar permiso a su usuario, especifiqueYOURNAME
sin el%.apache2ctl
), así:YOURNAME YOUR-HOSTNAME = NOPASSWD: /usr/bin/apache2ctl <specific arg | "">
. --- En todos los casosman 5 sudoers
es la referencia para ir a.La respuesta real a esta pregunta puede ser complicada porque sudo es muy poderoso y puede configurarse para hacer cosas geniales. Esto se explica a fondo en la documentación .
La respuesta corta se ejecuta
sudo visudo
en una terminal. Si es la primera vez que ejecuta Visudo, le preguntará qué editor prefiere. Por lo general, se cree que nano es el más fácil de usar, pero elija el editor con el que se sienta más cómodo / familiarizado. Deberá decidir a quién desea dar acceso; podría serALL
para todos (una muy mala idea) , un usuario o un grupo de sistemas. Los grupos tienen el prefijo con un signo%. Por ejemplo, si desea otorgarsteroid_users
privilegios de root a todos los miembros del grupo sin la necesidad de una contraseña para todos los comandos, debe agregar:hasta el final del archivo, salga y guarde el archivo. Si todo va bien y usted es miembro del grupo steroid_users, podrá emitir
sudo *some-command*
sin la molestia de tener que ingresar su contraseña.Tenga en cuenta que cualquiera que tenga acceso a su terminal mientras está conectado, o si tiene una configuración ssh para autenticación basada en clave, o (aún peor) ha habilitado inicios de sesión de sesión sin contraseña, acceso completo y sin restricciones a todo su sistema. Si tiene varios usuarios en su sistema, o si se trata de un servidor de archivos, ¡todos los archivos de los usuarios podrían estar en riesgo ya que la raíz puede hacer cualquier cosa!
Además, si comete un error, visudo generará un mensaje de error y no guardará los cambios en el archivo. Esto ayudará a evitar romper sudo por completo. Realmente deberías leer la documentación . Sudo está diseñado para dar a los usuarios el acceso suficiente para hacer su trabajo sin la necesidad de exponer todo su sistema. Puede ser ventajoso dar solo acceso sin contraseña para ciertos comandos.
Espero que esto ayude.
fuente
Deberá editar el archivo '/ etc / sudoers' (hay un comando 'visudo' para eso) para agregar NOPASSWD antes de la lista de comandos permitidos para su usuario o grupo. Si su usuario está en el grupo 'admin', necesita lo siguiente:
Verifique https://help.ubuntu.com/community/Sudoers , por cierto.
fuente
PODRÍA agregar el indicador nopasswd a la lista de usuarios, pero eso no elimina todas las contraseñas formuladas. Solo se le preguntará al primero.
sudo visudo
(DEBE usar sudo. Este es un archivo de administración).cyrex ALL = NOPASSWD: ALL
ocyrex ALL = (ALL) NOPASSWD: ALL
fuente
o
Supongo que esto lo haría.
Pero tenga cuidado con la eliminación de contraseñas para sudo.
fuente
Ahora para la respuesta simple! No hay forma posible de estropear nada o evitar su instalación.
¡Solo ingrese su contraseña un par de veces y luego nunca más tendrá que ingresarla! Esto le permitirá agregar una cuenta de administrador local al grupo "raíz", que luego no se comenta desde una plantilla que le permitirá a todo el grupo privilegios de superusuario "raíz". Puede leer mi problema / solución de seguridad para este procedimiento en la parte posterior de esta publicación.
% username & es la variable global para su nombre de usuario (reemplácelo con el nombre de usuario deseado)
Paso 1: abre una ventana de terminal y luego escribe "
sudo usermod -a -G root %username%
"Paso 2: luego copie / pegue esto ...
Paso 2 O escriba
Pase a la línea 19 y elimine el "#" antes
# auth sufficient pam_wheel.so trust
(puede ser un número de línea diferente para algunos)* El primer comando agrega su% username% al grupo "root"
El segundo / tercer comando permite a todos los miembros del grupo "root" ser superusuario sin contraseña, en lugar de solo permitir al usuario "root" su privilegios para las autenticaciones.
Nota final:
No te metas con
/etc/sudoers
... Hay muchas comprobaciones / equilibrios que la autenticación 'su' debe pasar. La autenticación de superusuario utiliza el mismo procedimiento pam.d que todas las demás autenticaciones de inicio de sesión. "/etc/security/access.conf" tiene el diseño para el control de acceso a través de la comunicación tcp / ip (192.168.0.1) y los servicios telnet (tty1 & tty2 & tty3 ... etc.) Esto permite un filtrado más preciso por aplicación a través del protocolo de transporte. Si la seguridad es su preocupación, entonces su preocupación debe dirigirse hacia amenazas remotas / código versus alguien que realmente toque su computadora cuando salga de la habitación.Comida para paranoia (no escriba esta en solo revisarla):
^ Esto bloquea el acceso a la consola para cualquier persona que no sea miembro del sistema o root. ¡A veces los programas instalan nombres de usuario / grupos que son explotados!
fuente