Mac OS X에서 사용자 ID와 그룹을 찾으려면 어떻게합니까?


59

터미널 에서이 compand를 실행하려고합니다.

sudo chown -R yourid:yourgroup local

그러나 나는 내 ID와 그룹이 무엇인지, 어디서 찾을 수 있는지 전혀 모른다. 어떤 아이디어?

답변:


61

OS X에서 기본 그룹은 staff사용자 또는 사용자 디렉토리 관리자가 변경하지 않는 한 항상 있습니다.

기본 그룹 이란 무엇입니까 ? 사용자의 기본 그룹은 기본적으로 해당 사용자가 만든 모든 파일의 소유자입니다.


의 목적을 위해 chmod컴퓨터, 당신도 당신의 숫자로 된 사용자 ID (예 : 501), 또는 계정 이름 (예를 사용할 수 있습니다 danielbeck). 후자는 UI에 일반적으로 표시되는 사용자 이름과 다릅니다 (예 : Daniel Beck ).

다음 중 하나를 사용하여 계정 이름을 확인할 수 있습니다.

  • Finder의 제목 또는 사이드 바에있는 홈 디렉토리의 이름입니다 (사용자 정의하지 않은 경우).

  • whoami터미널에서 실행 – chown -R $(whoami):staff충분해야합니다. 로 기본 그룹을 얻을 수도 있습니다 groups $(whoami) | cut -d' ' -f1.

  • 시스템 환경 설정»사용자 및 그룹을 열고 필요한 경우 창을 잠금 해제하고 사용자 이름 ( 현재 사용자 섹션 의 단일 목록 항목)을 마우스 오른쪽 버튼으로 클릭 한 다음 고급 옵션…을 선택하십시오 . 새로 열린 대화 상자 창의 계정 이름 필드 입니다. 이 대화 상자에는 기본 그룹도 표시됩니다.

  • id보다 자세한 출력을 위해 터미널에서 실행하십시오 . 여기에는 숫자 사용자 ID가 포함됩니다. 또한 기본 그룹뿐만 아니라 회원 인 모든 그룹도 표시됩니다. 첫 번째 그룹이 기본 그룹입니다.


3
을 사용하는 대신 posix 쉘 및 csh와 호환되는 oneliner에서 whoami사용할 수 있습니다 id. chown -R `id -u`:`id -g` FOLDER
fd0

LDAP 인증을 사용하는 경우 사용자 이름이 반드시이어야하는 것은 아닙니다 staff. 어쨌든 내 작품 Mac OS X에는 없습니다.
Sridhar Sarnobat

1
@ Sridhar-Sarnobat 나는 내 대답의 첫 번째 문장의 후반부에 이것을 언급합니다.
Daniel Beck

42

id터미널 에서 명령을 사용하십시오 . 그것은 당신의 UID와 당신이 속한 그룹을 표시합니다. 예를 들어 다음은 내 사용자 ID (534), 그룹 ID (20) 및 내가 속한 그룹 (20)을 보여주는 출력입니다.

uid=534(galuga) gid=20(staff) groups=20(staff)

15

사용자 아이디가 표시됩니다.

$ id -u
502

그룹 이름이 표시됩니다. 그룹 이름은 괄호 안에 있습니다.

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)

4

터미널에서로 이동하여 ~/Documents실행하십시오 ls -la. 사용자 이름과 그룹이 각 파일 / 디렉토리 옆에 나열됩니다.

다음과 같아야합니다.

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates

팁 덕분에 매우 쉽고 간단합니다.
teradyl

3

내가 할 수있는 경우에만 의견을 말하십시오. 이 사이트에 업장이 충분하지 않습니다.

나는 누군가가 @callaginn을 다운 투표 한 이유를 모른다.

다음 방법이 유효하며 쉘 스크립팅에 가장 적합한 옵션 일 수 있습니다.

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

man id더 많은 옵션을 참조하십시오 .

어떤 환경에서도 작동하는 스크립트를 작성하는 경우이 특정 질문에 대답하기 위해 기본 그룹 staff이 사용 중이라고 가정 하지 않고 대신 모든 사용자가 실행할 수있는 스크립트를 작성하면 다음을 수행합니다 (그들이 시스템을 수정했는지 여부) :

chown "$(id -un):$(id -gn)" some_file

나중에 기술 부채가 줄어들 기 때문에 가능하면 플랫폼에 구애받지 않는 것이 좋습니다 (시간이 너무 많지 않은 경우).

주의하시기 바랍니다 chown-R플래그가 최대한 안심하고 사용할 수 있습니다. 실제로 시스템을 망가뜨릴 수도있다 (애플이 구현 한 이후로 애플이 어렵게 만들었다는 점은 주목할 가치가있다 System Integrity Protection).

예를 들어, 장애인 이 chown -R 755 /var아닌 chown -R 755 /var/www루트 대신에 System Integrity Protection당신이 그것에 있다고 생각합니다. 나는 먼저 무엇을 깨뜨릴 지 말할 수 없지만 Darwin 시스템에서는 먼저 깨질 것입니다.하지만 예쁘지 않다는 내 말을 들어주세요.

바라건대, 누군가 이것이 도움이된다는 것을 알았습니다.


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