기존 사용자를 기존 그룹에 추가하는 방법은 무엇입니까?


668

그룹에 Apache 사용자 ( www-data) 를 추가하고 싶습니다 audio. 에 대한 맨 페이지를 읽었 useradd지만 운이 없습니다. xubuntu 11.10을 실행 중입니다. 내가하고있는 일은 다음과 같습니다.

$ sudo useradd -G audio www-data
useradd: user 'www-data' already exists

-Gbash 옵션을 생략하면 다음에 대한 도움말 정보가 인쇄됩니다 useradd.

$ sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

이 작업을 수행하기 위해 어떤 옵션을 사용해야하는지 맨 페이지에서 분명하지 않습니다.

답변:


1039

이 useradd명령은 새로운 사용자를 추가하려고 시도합니다. 사용자가 이미 존재하기 때문에 이것은 원하는 것이 아닙니다.

대신 : 새 사용자를 새 그룹에 추가하는 등 기존 사용자를 수정하려면 usermod명령을 사용하십시오 .

이 시도:

sudo usermod -a -G groupName userName

새 그룹이 추가되었는지 확인 하려면 사용자 가 로그 아웃했다가 다시 로그인해야합니다 .

  • -a(추가) 스위치가 필수적이다. 그렇지 않으면 사용자가 목록이 아닌 모든 그룹에서 제거됩니다.

  • -G스위치에 사용자를 할당하기 위해 추가의 그룹 (쉼표로 구분)에서 걸린다.


71
sudo usermod -a -G [group-name] [user-name]: 헤드 라인을 읽은 후에 만 ​​답을 보는 사람들을위한 간단한 설명
— Programster

36
나는 지금 선호하는 방법은입니다 sudo adduser user group. 더 간단하고 깔끔한 구문입니다. @Bai의 답변을 참조하십시오.
— ctbrown

3
@wilhil : man usermod: " -a, --append- 보충 그룹에 사용자를 추가합니다. -G 옵션과 함께 사용하십시오.; -G, --groups GROUP1 [, GROUP2, ... [, GROUPN] ]] [...] 사용자가 현재 목록에없는 그룹의 구성원 인 경우 사용자가 그룹에서 제거됩니다. -a 옵션을 통해이 동작을 변경할 수 있습니다.이 옵션은 사용자를 현재 보완 항목에 추가합니다. 그룹 목록. "
— Adam Michalik

18
"로그 아웃 및 다시 로그인"부분을 돌아갈 수있는 방법이 있습니까? 어떤 유형의 업데이트 그룹 명령일까요?
— con-f-use

14
@ con-f-use, 실행할 수 있으면 sudo login -f YOURUSERNAME새 셸 세션이 시작됩니다. 사용 id새로운 세션이 그룹의 올바른 설정에 있는지 확인하기 위해 명령을. 그러나 이것은 "전역"이 아니며 이미 열려있는 터미널에는 적용되지 않습니다. 따라서 가능하면 로그 아웃하는 것이 가장 좋습니다.
— Aaron McDaid

222

그룹에 사용자 추가하기 :

sudo adduser user group

그룹에서 사용자 제거 :

sudo deluser user group

3
이 질문에 정확히 응답하지 않았습니다
— Tejendra

11
@Tejendra의 의견은 OP의 질문에 대답하기 위해 useradd를 사용하는 것이 바람직하고 필수적이라고 가정합니다. 아마도이 대답은 adduser / deluser가 더 나은 대안임을 나타내는 단어가 누락되었을 수 있습니다.
— 현인

12
나를 위해 더 간단한 인터페이스가 더 좋으므로 이것이 내가 이것을 좋아하는 이유입니다.
— Betlista

4
이것은 정확히 묻는 질문입니다. @knocte, 네, 데비안 전용이라고 생각합니다
— Auspex

3
@Auspex Red Hat에서 작동하지 않는 것을 확인할 수 있습니다.
— Stibu

54

기존 사용자에게 추가 한 후 :

usermod -a -G group user  

에서 그룹 권한을 받으려면 로그 아웃하고 로그인 해야 할 수도 있습니다 /etc/group.


21
"로그 아웃 및 로그인이 필요한 부분"을 굵게 표시하십시오.
— Jin Kwon

참고 : id명령을 종료하지 않고 그룹에 추가했음을 나타냅니다. id myuser
— ficuscr

5
Ubuntu 14.10에서 로그 아웃했다가 다시 로그인해야했습니다.
— A.Danischewski

26

나는 보통

sudo gpasswd -a myuser mygroup

3
내 시스템 우분투 14.04에서 usermod를 사용할 수 없었습니다. 이것은 훌륭하게 작동했습니다!
— Drew

이것은 usermod설치되지 않은 데비안 스트레치에서도 훌륭하게 작동했습니다 .
— Josh Habdas

8

의견이 충분하지 않기 때문에 이것을 답변으로 게시하고 있습니다. @dpendolino가 언급 했듯이이 명령의 효과가 지속되도록하려면 :

sudo usermod -a -G groupName userName

... 로그 아웃 / 로그인해야합니다.

그러나 새 그룹 멤버쉽을 즉시 사용하기 시작 하고 올바른 sudo 권한 이 있는 바로 가기가 필요한 경우이 해결 방법을 찾았습니다.

$ sudo su -
# su [userName]
$ groups

설명:

  • sudo su - 당신에게 루트 쉘을 줄 것입니다
  • su [userName] 사용자와 함께 쉘로 돌아갑니다.
  • groups지금 실행하면 usermod -aG명령으로 추가 한 그룹이 표시됩니다

제 경우에는 'docker'그룹을 사용자에게 추가하려고했습니다.

전에:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

후:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker


1
sudo usermod -a -G groupName userName

잘 작동하지만 완전히 재부팅 해야하고 로그 아웃하고 다시 로그인하면 작업이 수행되지 않습니다 ...

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