어떤 패키지가 사용자를 생성했는지 확인하는 방법


14

일부 패키지는 설치시 사용자 계정을 생성하는 스크립트가 실행되는 것으로 의심됩니다 /etc/passwd. 특정 사용자를 생성 한 패키지를 어떻게 확인할 수 있습니까?

답변:


16

패키지를 통해 dpkg(를 포함하여 apt install) 설치 한 경우 이는 합리적으로 안정적으로 작동 합니다. 기본 우분투 설치에서 생성 된 사용자 목록과이를 생성하는 패키지에 대해서는 muru의 답변 을 참조하십시오 . 해당 사용자의 경우이 방법은 출력을 생성하지 않습니다.

다음 명령을 사용할 수 있습니다.

grep -RlE '(adduser|useradd).*systemd' /var/lib/dpkg/info --include='*inst' | sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'

<user>예를 들어, 관심있는 사용자 이름으로 바꾸십시오 .systemd

이 검색한다 preinstpostinst에 알려진 모든 패키지의 스크립트 dpkg을 위해 adduser또는 useradd명령 및 해당 사용자가 해당 사용자를 만들기위한 담당하는 패키지를 확인합니다. 결과는 sed로 파이프되므로 스크립트 파일의 전체 이름 대신 패키지 이름 자체 만 리턴합니다.

설명

  • grep -RlE 재귀 적으로 검색하고 일치하는 파일을 포함하는 파일 이름 만 인쇄하고 확장 정규식을 사용하십시오.
  • '(adduser|useradd).*<user>' /var/lib/dpkg/info --include='*inst'를 검색 adduser하거나 useradd(같은 줄에 찾으려면 명령과 사용자 .*디렉토리의 모든 명령 옵션을 잡기, 그들 사이의 모든 문자와 일치합니다) 여기서 dpkg이름으로 끝나는 파일에 저장 스크립트,inst
  • sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'/전체 경로 의 마지막 및 마지막 .preinst또는 .postinst확장을 포함하여 모든 항목을 제거합니다.

find여기를 사용하는 것보다 깔끔하고 빠른 검색 방법을 제안하는 @muru에게 감사드립니다. :)


preinst해당 스크립트에 사용자를 작성하는 일부 패키지가 있으므로 확인해야합니다 . 하지만 아이디어를 얻었으므로 받아들입니다.
Cyker

@Cyker 그래 고마워 :) 내가 편집 할 것이다 ... 나는 그들을 모두 잡을 수 있는지 확인하기 위해 지금 찾고 있어요
Zanna

grep -Rl 'adduser.*<user>' /var/lib/dpkg/info --include='*inst'일을 단순화하기 위해 find -exec grep.
muru December

굉장 감사 @muru ... (지금 난 그냥 필요한 basename -s동의를 와일드 카드 / 정규식 ...) 나는 그것이하지만 adduser를 어떤 PREINST 스크립트를 찾을 수 없습니다 (접미사 이달 사전 및 사후을 절단 할 수 있도록 그래서 어깨를 으쓱 )
Zanna

@Zanna 데비안 정책은 권장 postinst하므로 사용하는 것을 찾지 못할 것입니다 preinst(그러나 드문 경우가 있다고 생각합니다).
muru December

15

여기에 일반적인 adduser추가 사용자 및 그룹 에는 중요한 예외가 있습니다. 기본적으로 Ubuntu와 함께 제공되는 사용자 및 그룹입니다. 이들은 base-passwd패키지 에 의해 제공됩니다 . 이 패키지로 추가 된 사용자 및 그룹 목록은에 나와 있습니다 (및 설명) /usr/share/doc/base-passwd/users-and-groups.{html,txt.gz}. 목록은 다음과 같습니다.

사용자 (보통 해당 그룹)

root    man     majordom    irc         gdm
daemon  lp      postgres    gnats       saned
bin     mail    www-data    nobody      klog
sys     news    backup      messagebus  syslog
sync    uucp    operator    postfix
games   proxy   list        haldaemon

그룹 (해당 사용자없이)

adm     fax     audio       staff       sshd
tty     voice   src         users       fetchmail
disk    cdrom   shadow      lpadmin     cupsys
kmem    floppy  utmp        sasl        nogroup
dialout tape    video       scanner
dip     sudo    plugdev     ssh

패키지 README ( /usr/share/doc/base-passwd/README)에는 60000-64999 범위의 UID를 가진 일부 사용자가 나열되어 있으며 각 사용자가 해당 패키지에 의해 작성되었다고 명시되어 있습니다.

참조 :

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.