Действительно ли возможно остановить создаваемый .sudo_as_admin_successful?

Каждый раз я выполняю команду с sudo, файл называют .sudo_as_admin_successful создается в моем корневом каталоге. Насколько я могу сказать, это существует для единственной цели отключить это сообщение, что удар печатает на запуске:

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

Возможно остановить то сообщение путем комментирования соответствующего раздела в /etc/bash.bashrc, но sudo все еще создает раздражающий файл в моем корневом каталоге.

Эта веб-страница предполагает, что можно остановить файл, создаваемый путем удаления себя из admin группа, но я не нахожусь ни в какой подобной группе – id шоу, в которых я нахожусь josh, adm, cdrom, sudo, dip, plugdev, lpadmin и sambashare, и admin не находится в /etc/group.

Существует ли способ остановить этот создаваемый файл?


Я полагаю, что это не дубликат этого вопроса, как это просило, было ли возможно сделать уведомление распечатанным ударом, уходят, а не если возможно остановить файл, создаваемый sudo.

46
задан 18 August 2016 в 12:50

1 ответ

На основе следующего раздела plugins/sudoers/sudoers.c файл исходного кода, не похоже, что это возможно, не перекомпилировав sudo, не определяя USE_ADMIN_FLAG макрос препроцессора.

Также примечание, которое это проверяет на состав группы и admin и sudo. Я не проверил журнал изменений, но я подозреваю, что последняя проверка была добавлена, когда sudo стал группой по умолчанию для привилегированных пользователей - возможно, имя файла все еще относится к admin для совместимости.

   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 */
38
ответ дан 22 November 2019 в 23:57

Другие вопросы по тегам:

Похожие вопросы: