.sudo_as_admin_successful 작성을 중지 할 수 있습니까?


45

로 명령을 실행할 때마다 sudo라는 파일 .sudo_as_admin_successful이 내 홈 디렉토리에 생성됩니다. 내가 알 수있는 한, 이것은 bash가 시작시 인쇄하는이 메시지를 비활성화하기위한 것입니다.

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, lpadminsambashare,과 admin에 있지 않습니다 /etc/group.

이 파일 생성을 중지 할 수있는 방법이 있습니까?


나는 이것이이 질문 의 복제본이 아니라고 생각 한다 sudo.


1
그것에 대해 너무 성가신 것은 무엇입니까? 공간이 거의 없습니다.
edwinksl

12
@edwinksl 다른 것을 찾으려고하면 시각적으로 혼란 스럽습니다. 절대 수정하지 않기 때문에 그 존재를 알 필요는 없습니다.
Josh

5
이것이 바로 이유입니다. 전면에. 뷰에 숨겨진 파일을 포함시키는 이유는 무엇입니까?
Rinzwind

11
최소한이 파일은 .config 또는 .local에 있어야합니다. 특히 홈 디렉토리에서 숨겨진 파일을 찾아 볼 필요는 없습니다. .config / .local이 홈 디렉토리의 어리석은 과부하 때문에이 파일이 가장 무례한 예일 수 있으므로 왜 발명되지 않았습니까?
NeilG

1
배포 전쟁을 시작하지 말고 (askubuntu.com에서 요청), 나는 다시 확인했다. 이것은 실제로 데비안 배포판에 존재하지 않는 Ubuntu가 추가 한 것입니다. 그것은 "사용자 친화적"으로 추가되었을 가능성이 있지만 OP와 마찬가지로이 성가신 같은 임의의 파일이 있는지 찾습니다.
Lundberg 당

답변:


38

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 */

물론 다시 컴파일하지 않고도 가능합니다 sudo! 그냥 나가서 objdump -d그 검사와 관련된 논리를 추적 한 다음, hexdump일부 수술을 위해 믿을 수있는 16 진 편집기 (또는 일반 텍스트 편집기가 꼬집음)를 사용하십시오. 무엇이 잘못 될 수 있습니까?
mtraceur
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.