sudoer가 UID로 정의되지 않는 이유는 무엇입니까?

sudoer가 UID로 정의되지 않는 이유는 무엇입니까?

로그인 정보는 Linux의 UID와 연결되어 있습니다. 그러나 sudoers 파일을 열면 sudoers는 UID 대신 사용자 이름으로 정의됩니다.

UID 대신 사용자 이름을 사용하는 이유는 무엇입니까?
sudoers 파일이 usermod -l실행될 때 자동으로 변경됩니까?

단편:

    # User privilege specification
    root    ALL=(ALL:ALL) ALL

답변1

일부 매뉴얼에 따르면 [1,2] 저는 다음과 같은 답변을 드릴 수 있습니다.

  1. UID로 사용자를 표시하는 것이 가능합니다..

    로부터우분투의 sudoers 위키우리는 다음을 읽을 수 있습니다:

    주석 앞에 #을 붙여 주석을 삽입할 수 있지만 뒤에 숫자가 올 때 파일의 특정 부분에서 uid를 지정하는 데에도 사용됩니다.

    나중에Runas 별칭 섹션보고된 예는 다음과 같습니다.

    # UID 0 is normally used for root  
    # Note the hash (#) on the following line indicates a uid, not a comment.  
    Runas_Alias ROOT = #0
    
  2. 간단하게 수행할 때는 usermod -lsudoers에 변경 사항을 전파하면 안 됩니다.
    실제로usermod 매뉴얼 페이지, 것보다 더 많은 정보를 제공합니다.BSD 1, 우리는 읽을 수 있습니다

    -l, --로그인 NEW_LOGIN
    사용자 이름이 LOGIN에서 NEW_LOGIN으로 변경됩니다.다른 것은 변경되지 않았습니다.
    특히 사용자의 홈 디렉토리 이름은 새 로그인 이름을 반영하도록 수동으로 변경해야 합니다.

    매개변수 만 지정하는 경우에도 sudoers의 수정 사항을 수동으로 관리해야 한다는 의미인 것 같습니다 -l. 아마도 이전 사용자 이름을 삭제해야 할 것입니다.사용자를 sudo 그룹에 추가~와 함께

    sudo usermod -a -G sudo hduser
    

    실제로 그런 일이 일어났습니다.이 사용자2008년 Debian Sid 시스템에서는:

    나는 내 SID 노트북에 로그인하기 위해 사용자 이름으로 XXX를 사용했고 XXX는 sudoers 파일에 있습니다. 오늘은 다음을 사용하여 YYY로 변경했습니다.

    sudo usermod -l YYY XXX

    나는 다른 일을 하지 않았다.

    이제 YYY를 사용하여 로그인할 수 있지만 루트 비밀번호를 사용하여 루트에 su할 수 없습니다.또한 'YYY'는 sudoers 파일에 없으므로 이제 YYY를 포함하도록 /etc/sudoers를 편집할 수 없습니다..

마지막으로, 아마도 당신은 오직 에서만 확실한 대답을 얻어야 할 것입니다토드 밀러1991년에 sudo의 마지막 (승리) 포크를 수행한 사람, 또는 1980년에 나온 경우 Bob Coggeshall 또는 Cliff Spencer가 만든 사람일 수도 있습니다.7].

참고자료

관련 정보