데몬이 더 이상 필요하지 않으면 시스템 사용자 계정을 삭제하시겠습니까?

데몬이 더 이상 필요하지 않으면 시스템 사용자 계정을 삭제하시겠습니까?

특이한 시나리오에서는 openSUSE 시스템에서 "lp"(라인 인쇄 데몬)라는 특정 시스템 사용자 계정을 삭제해야 했습니다.

일관되지 않은 시스템 상태가 발생하지 않고 계정 행을 주석 처리할 수 있습니까 /etc/passwd?

배경: 계정의 사용자 이름이 SAMBA에서 사용하려는 계정 이름과 충돌합니다. 이 계정이 다른 중요한 프로세스에서 사용되는지 모르기 때문에 줄 인쇄 기능이 실제로 필요하지 않습니다.

다른 사람이 시스템 계정을 삭제한 경험이 있습니까?

답변1

find이 사용자가 소유한 파일이 있는지 확인하기 위해 먼저 시스템을 빠르게 실행해 보겠습니다 lp.

$ find -user lp

파일이 반환되면 OpenSUSE의 패키지 관리자를 사용하여 해당 파일을 역추적할 수 있습니다. RPM을 사용한다고 생각하므로 다음과 같은 명령이 작동합니다.

$ rpm -qf /path/to/file/find/found

이를 통해 해당 패키지를 제거할 수 있는지 여부를 결정할 수 있습니다. 이러한 패키지를 제거하면 lp제거 프로세스 중에 사용자 계정이 삭제될 가능성이 높습니다.

패키지를 찾을 수 없으면 , /etc/passwd, & 에서 /etc/shadow계정을 삭제할 수 있습니다 /etc/group. 계정에 연결된 그룹이 있는지 확인하셨나요?

다음과 같은 명령은 사용자와 연결된 그룹을 알려줍니다.

$ id lp
uid=4(lp) gid=7(lp) groups=7(lp)

사용자를 삭제하는 더 쉬운 방법은 내장된 명령 중 하나를 사용하는 것입니다. 일반적으로 다음과 같습니다: userdel <username>.

예를 들어:

 $ sudo userdel lp

앞으로 나아갈 길

OP(@MasterofCelebration)가 댓글을 달았습니다:

글쎄요, 기본 기능(예: Ghostscript, 파일 시스템)인 일부 패키지를 찾았지만 반드시 제거하고 싶지는 않았습니다. 그래서 계정 이름을 변경하고 원하는 사용자에 대한 새 계정을 추가하는 방법을 고려했습니다(시스템 계정의 UID를 "lprint"와 같은 새 이름으로 남겨두기). 이제 까다로운 부분은 전혀 필요하지 않음에도 불구하고 "인쇄 응용 프로그램"이나 기타 일반적으로 사용되는 항목에서 사용되는 새 사용자의 홈 디렉토리에 실제로 어떤 일이 발생하는지 알 수 없다는 것입니다. SAMBA 목적으로만 새 사용자의 홈 디렉토리가 필요함).

나는 사용자와 관련된 것으로 식별된 모든 패키지를 보관할 것입니다 lp.

까다로운 부분은 lp디스크에 파일이 있을 가능성 외에도 사용자 이름이 한두 개의 프로필에 의해 호출될 가능성이 높다는 것입니다.

이것이 내가하려는 일입니다.

  1. 이전 UID를 유지하겠습니다 lp. 이름을 에서 로 변경 lp합니다 lpold.
  2. 새 UID로 새 계정을 만들고 계속해서 호출하세요 lp.
  3. lp디렉토리를 검색하여 /etc명시적으로 호출된 구성 파일을 식별할 수 있는지 확인하고 lp, 찾으면 해당 파일을 로 변경하십시오 lpold.

이렇게 하면 디스크에 있는 파일을 만질 필요가 없으며 자동으로 나타납니다 lpold. 또한 디스크에 있는 파일을 lpold새 파일과 결합할 수도 있습니다 lp.

지금 직면해야 할 유일한 위험은 사용자로 시작된 서비스가 lp이제 lp이전 서비스 대신 새 서비스가 될 수 있다는 것입니다. 검색을 통해 /etc이러한 문제를 근절해야 합니다.

답변2

/etc/passwd계정을 효과적으로 주석 처리 /etc/shadow하고삭제사용자. /etc/group및 에도 마찬가지입니다 /etc/gshadow.

사용자가 파일의 소유자인 경우 파일에는 할당되지 않은 UID가 할당됩니다. 이는 그 자체로는 해롭지는 않지만 보기 흉하고 바람직하지 않을 수도 있습니다(예: UID는 나중에 재사용할 수 있으며 이러한 파일은 새로운 사용자). 먼저 find해당 사용자가 소유한 파일 찾기 및 삭제를 사용하는 것이 가장 좋습니다 .

그래도,나는 이것을하지 않을 것입니다.언젠가 CUPS를 설치해야 한다면 어떻게 될까요? 사용자 CUPS를 관리자로 지정하시겠습니까? 또한 생각해 보세요. 패키지의 배포 스크립트는 lp다음 이름으로 작동할 수 있습니다. 즉, 서비스가 lp특정 파일을 읽고 쓸 수 있는 권한을 허용할 수 있습니다(왜? 모르겠지만 그런 일이 발생할 수 있습니다).

간단히 말해서, 가능하지만 일반적으로 Linux 배포판 시스템의 사용자를 확보하여 설계된 목적과 다른 목적으로 서비스를 제공하는 것은 좋은 생각이 아닙니다.

답변3

특히 lpCUPS와 같은 프린터 지원을 추가하려는 경우 문제가 발생할 수 있습니다. 미래. CUPS와 같은 것이 설치되어 있지 않더라도 lp수십 년 동안 (Unix 시스템의) 표준 사용자였으므로 패키지가 이에 의존할 수 있고 시스템의 일부 부분에서 이를 사용할 수도 있습니다. 사용자/그룹은 lp기본적으로 그룹에 속하거나 파일, 디렉터리 및 장치를 소유할 수도 있습니다.

생성하려는 사용자의 다른 이름을 찾는 것이 좋습니다.

답변4

/etc/passwduserdel을 백업 하고 실행할 수 있을 것 같습니다 /etc/shadow. SUSE에 대해서는 모르지만(저는 Ubuntu와 Debian을 사용합니다) 문제가 없을 것이라고 생각합니다.

그런데, 삼바를 다른 사용자에게 LP를 사용 pdbedit하거나 제공 할 수 없나요 ? smbpasswd실제로 시스템에 충돌이 있습니까?

관련 정보