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


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.