È possibile interrompere .sudo_as_admin_successful in fase di creazione?

28

Ogni volta che eseguo un comando con sudo , un file chiamato .sudo_as_admin_successful viene creato nella mia home directory. Per quanto ne so, esiste al solo scopo di disabilitare questo messaggio che bash stampa all'avvio:

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

È possibile interrompere quel messaggio commentando la sezione pertinente in /etc/bash.bashrc , ma sudo crea ancora un file fastidioso nella mia directory home.

Questa pagina web suggerisce che puoi interrompere la creazione del file rimuovendoti dal gruppo admin , ma non ci sono in questo gruppo - id mostra che sono in josh , adm , cdrom , sudo , dip , plugdev , lpadmin e sambashare e admin non è in /etc/group .

C'è un modo per fermare la creazione di questo file?

Credo che questo non sia un duplicato di questo domanda , che chiedeva se fosse possibile far stampare la nota stampata da bash piuttosto che se fosse possibile interrompere il file creato da sudo .

    
posta Josh 18.08.2016 - 21:50
fonte

1 risposta

31

In base alla seguente sezione del file di codice sorgente plugins/sudoers/sudoers.c , non sembra possibile senza ricompilare sudo , indebolendo la macro pre-processore USE_ADMIN_FLAG .

Nota inoltre che sta verificando l'appartenenza ai gruppi sia per admin che per sudo . Non ho controllato il log delle modifiche, ma sospetto che quest'ultimo controllo sia stato aggiunto quando sudo è diventato il gruppo predefinito per gli utenti con privilegi, forse il nome file si riferisce ancora a admin per la compatibilità.

   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 */
    
risposta data steeldriver 18.08.2016 - 22:37
fonte

Leggi altre domande sui tag