¿Es posible detener la creación de .sudo_as_admin_successful?


46

Cada vez que ejecuto un comando sudo, .sudo_as_admin_successfulse crea un archivo llamado en mi directorio de inicio. Por lo que puedo decir, esto existe con el único propósito de deshabilitar este mensaje que bash imprime en el inicio:

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Es posible detener ese mensaje comentando la sección relevante en /etc/bash.bashrc, pero sudoaún crea un archivo molesto en mi directorio de inicio.

Esta página web sugiere que puede dejar el archivo que se creó por dejar de recibir en el admingrupo, pero no estoy en cualquiera de tales grupos - idmuestra que estoy en josh, adm, cdrom, sudo, dip, plugdev, lpadminy sambashare, y adminno está en /etc/group.

¿Hay alguna manera de detener la creación de este archivo?


Creo que esto no es un duplicado de esta pregunta , ya que era preguntar si era posible hacer que el aviso impreso por bash desapareciera, en lugar de si es posible detener el archivo creado por sudo.


1
¿Qué es tan molesto al respecto? Apenas ocupa espacio.
edwinksl

12
@edwinksl Es un desorden visual cuando intento encontrar algo más. No debería tener que ser consciente de su existencia, dado que nunca lo modificaré.
Josh

55
y es por eso que hay un. en la parte delantera. ¿Por qué incluye archivos ocultos en sus vistas?
Rinzwind

11
Al menos este archivo debe colocarse en .config o .local. No es infrecuente que necesitemos examinar archivos ocultos, especialmente en el directorio de inicio. ¿No es por eso que se inventaron .config / .local, debido a la ridícula sobrecarga del directorio de inicio, del cual este archivo es posiblemente el ejemplo más gratuito?
NeilG

1
No para comenzar una guerra de distribución (esto se pregunta en askubuntu.com), pero lo comprobé dos veces: esto es realmente algo que Ubuntu agregó que no está presente en la distribución ascendente de Debian. Es probable que sea "fácil de usar", pero, como el OP, encuentro molesta la presencia de archivos aleatorios como este.
Por Lundberg

Respuestas:


38

Según la siguiente sección del plugins/sudoers/sudoers.carchivo de código fuente , no parece posible sin recompilar sudo, sin definir la macro del USE_ADMIN_FLAGpreprocesador.

Además, tenga en cuenta que está comprobando la pertenencia a grupos de ambos admin y sudo . No he revisado el registro de cambios, pero sospecho que la última verificación se agregó cuando se sudoconvirtió en el grupo predeterminado para usuarios privilegiados, tal vez el nombre de archivo todavía se refiere a la admincompatibilidad.

1229 #ifdef USE_ADMIN_FLAG
1230 static int
1231 create_admin_success_flag(void)
1232 {
1233     struct stat statbuf;
1234     char flagfile[PATH_MAX];
1235     int len, fd = -1;
1236     debug_decl(create_admin_success_flag, SUDOERS_DEBUG_PLUGIN)
1237
1238     /* Check whether the user is in the admin group. */
1239     if (!user_in_group(sudo_user.pw, "admin") &&
1240         !user_in_group(sudo_user.pw, "sudo"))
1241         debug_return_int(true);
1242
1243     /* Build path to flag file. */
1244     len = snprintf(flagfile, sizeof(flagfile), "%s/.sudo_as_admin_successful",
1245         user_dir);
1246     if (len <= 0 || (size_t)len >= sizeof(flagfile))
1247         debug_return_int(false);
1248
1249     /* Create admin flag file if it doesn't already exist. */
1250     if (set_perms(PERM_USER)) {
1251         if (stat(flagfile, &statbuf) != 0) {
1252             fd = open(flagfile, O_CREAT|O_WRONLY|O_EXCL, 0644);
1253             if (fd != -1)
1254                 close(fd);
1255         }
1256         if (!restore_perms())
1257             debug_return_int(-1);
1258     }
1259     debug_return_int(fd != -1);
1260 }
1261 #else /* !USE_ADMIN_FLAG */
1262 static int
1263 create_admin_success_flag(void)
1264 {
1265     /* STUB */
1266     return true;
1267 }
1268 #endif /* USE_ADMIN_FLAG */

¡Por supuesto que es posible sin recompilar sudo! Simplemente salga objdump -d, rastree la lógica involucrada en esa verificación, luego entre con su confiable editor hexadecimal (o incluso hexdumpy un editor de texto normal lo resolverá) para una cirugía. ¿Qué puede salir mal?
mtraceur
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.