BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Usuario admin no me deja ejecutar comandos sin sudo

antey

El usuario "admin" tiene permisos de root. Lo metí en el sudoers.

root ALL=(ALL) ALL
admin ALL=(ALL) ALL

Después haciendo :

sudo -l - U admin
Matching Defaults entries for admin on :
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+"LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+"LC_MONETARY LC_NAME LC_NUMERIC
LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User admin may run the following commands on :
(ALL) ALL
(ALL) ALL
(ALL) NOPASSWD: ALL

Si ejecuto el comando id:

id admin
uid=1000(admin) gid=1000(admin) groups=1000(admin),10(wheel)

Entonces, ¿por qué no puedo ejecutar comandos como updatedb, sin el sudo por delante?

Es como si el sistema no reconociese al usuario admin a pesar de haberlo metido en el sudoers.

fendergetafe
2

Cuando poner a un usuario en sudoers sigue siendo un usuario normal que puede usar sudo para ejecutar algo con privilegios pero si ejecutas un comando se ejecuta como ese usuario, para elevar privilegios tienes que usar sudo, es por diseño,

si quieres otro root tienes que andar tocando el fichero /etc/passwd y es mas complicado

pepejil
2

La clave es que el usuario "admin" tiene permisos de "root"… Pero sigue sin ser "root".

El usuario "admin" sigue siendo un usuario que tú has añadido al sistema y de alguna forma tiene que distinguir qué comandos se lanzan con escalada de privilegios y qué comandos se lanzan por su propio usuario. Por eso, el uso de sudo es obligatorio.

Modificando "sudoers" sólo alteras el funcionamiento de cómo se lanza el comando en una escalada de privilegios, pero de ninguna forma vas a poder obviar eso, al menos usando las utilidades "sudo".

De todas formas, no entiendo por qué quieres duplicar un usuario para hacer las mismas operaciones que "root", cuando para eso puedes usar "root" directamente.

🗨️ 9
antey

Hola,

Entiendo que te referiras a esto:

Dentro del sudoers también tengo puesto

## Same thing without a password
 %wheel ALL=(ALL)       NOPASSWD: ALL

Y por si fuera poco en:

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d

En

/etc/sudoers.d/allowLocalUsers
 cat allowLocalUsers
%admin      ALL=(ALL)       NOPASSWD: ALL

Que yo entiendo que puede ser redundante respecto a lo de wheel, pero ni por esas funciona

🗨️ 1
pepejil
1

pero ni por esas funciona

Ni te va a funcionar.

El sistema sólo va a permitir ejecuciones con escalada de privilegios si es UID 0. Todo lo demás, deberá pasar por sudo.

antey

Porque tengo un aplicacion que su instalacion ha de ser segun dice el fabricante ha de instalar usando el usuario "admin" como si fuese "root" es decir sin usar sudo por delante. Y eso ha de ser asi si o si. No entiendo que diferencia puede haber en terminos de gestion de dicha aplicacion , de usar sudo, a tener un root que se llame admin ( ademas de root), pero estos dicen eso

Por cierto, estoy usando RHEL8.

🗨️ 6
vukits
1

prueba a agregar el usuario al grupo root.

en todo caso, es como te han dicho arriba.

lhacc

Teniendo en cuenta las consecuencias de seguridad, puedes marcar el ejecutable con setuid

🗨️ 2
vukits
1

macho.

he empezado a sentirme mal y todo.

a @antey le estamos aconsejando todas las guarradas y chapuzas de inseguridad :P

🗨️ 1
lhacc
2
Sysman
1

Igual se refieren simplemente a crear una cuenta "admin" para el aplicativo precisamente para que no tenga privilegios totales sobre el sistema.

pepejil
1

ha de instalar usando el usuario "admin" como si fuese "root" es decir sin usar sudo por delante

No vas a poder obviar sudo a las bravas por lo que te he explicado. No sé qué guía es esa, pero estás pidiendo un imposible.

En vez de seguir una guía absurda buscando un milagro, yo empezaría a seguirla por la única vía que tienes disponible para no usar sudo y es haciendo las ejecuciones directamente bajo root… Y si el fabricante no te deja hacerlo, yo empezaría a buscar otro software o hacer quirúrgica manual para cambiar "root" por "admin", pero igual ahí te cargas el sistema entero.

skgsergio
1

Como ya te han dicho, añadirlo a sudores (ya sea explícito o por pertenencia a grupo, en e de te caso wheel) solo permite que pueda ejecutar comandos con permisos privilegiados usando sudo. No vas a poder hacer que el usuario "admin" que has creado lance comandos privilegiados sin sudo, como si fuese el root.

Sysman
2

En Unix usuarios root sólo hay uno, que es el de uid 0 (usuario root) y gid 0 (grupo root). Cualquier otro ID de usuario o grupo distinto de 0 no es root. De hecho el root no tiene por qué llamarse "root" (ej. se podría renombrar en el /etc/passwd).

En general, el root está para usos puntuales (yo personalmente lo prefiero a sudo, por lo que suelo rehabilitarlo para poder abrir sesiones con él) y no sería la filosofía en Linux ir creando más usuarios root para ninguna funcionalidad. Otro tema es dar privilegios específicos a usuarios concretos, eso sí está bien visto.

naveganteperdido
1

sudoer o admin != root

AsmGuy
1

A ver… Conste que no lo recomiendo, pero puedes hacer "sudo bash" y a partir de allí te quedas muy buenamente como root y ejecutando comandos sin "sudo" delante hasta que hagas "exit".

Esto, claro, es 99,9% equivalente a hacer login como root, cosa que tampoco recomiendo.

🗨️ 1
antey

Buenos dias chic@s!

Es tal como lo habeis comentado, muchas gracias

🗨️ 1
lhacc

¿Tal como hemos comentado qué? Hemos comentado un montón de cosas.

Chrysdeb
1

Hola:

Perdón por entrometerme, pero ese archivo sudoers está mal por concepto, salvo que fuese modificado a propósito así.

Me explico:

El usuario root tiene que tener todos los privilegios es decir debe poder leer, escribir y ejecutar en las 4 áreas: host, users, groups y command.

Se suele representar por el término ALL.

Quedando así:

root ALL=(ALL:ALL) ALL

Y normalmente para que un usuario pueda ejecutar comandos con sudo debe hacerse así:

user ALL=(ALL) ALL

Donde como se ve falta el ALL del grupo para tener mejor control sobre los usuarios y solo puedan ejecutar comandos sudo aquellos que estén "dados de alta" en el grupo sudo.

Saludos.