Linux에는 기본 그룹과 보조 그룹이라는 두 가지 유형의 그룹 개념이 있습니다. 새 그룹을 만드는 것은 간단합니다.
sudo groupadd gname
이제 새로 생성된 그룹 gname
이 어떤 그룹에 속하는지 알고 싶습니다. 그들 사이를 변환하는 방법이 있습니까?
사용자 없이 두 개의 새 그룹 만들기
sudo groupadd writers
sudo groupadd editers
새로운 사용자를 추가합니다.
sudo useradd -m mywriter -p yourpassword
sudo useradd -m myediter -p yourpassword
그룹에 새 사용자를 추가합니다.
sudo usermod -a -G writers mywriter
sudo usermod -g editers myediter
이제 4개의 그룹이 있습니다.
cat /etc/group | tail -4
writers:x:1007:mywriter
editers:x:1008:
mywriter:x:1009:
myediter:x:1010:
내 작가를 입력하세요
$ touch /tmp/mywriter.txt
$ ls -al /tmp/mywriter.txt
-rw-r--r-- 1 mywriter mywriter 0 Aug 23 21:24 /tmp/mywriter.txt
내 편집자로 이동
$ touch /tmp/myedier.txt
$ ls -al /tmp/myediter.txt
-rw-r--r-- 1 myediter editers 0 Aug 23 21:27 /tmp/myediter.txt
그룹 1---mywriter의 경우:
id mywriter
uid=1009(mywriter) gid=1009(mywriter) groups=1009(mywriter),1007(writers)
mywriter
uid=gid=1009이므로 기본 그룹입니다.
그룹 2의 경우 --myediter
id myediter
uid=1010(myediter) gid=1008(editers) groups=1008(editers)
2차 그룹인가요?
그룹 합계를 writers
분류하는 방법은 무엇입니까 editers
?
답변1
그룹 자체는 기본 또는 보조가 아닙니다. 그룹은 그룹입니다.
중요한 것은 어떻게 사용하느냐입니다.
일반적인 로그인 세션을 살펴보겠습니다. (설명의 편의를 위해 단순화하겠습니다. 그러나 더 복잡한 경우에도 동일한 논리가 적용됩니다.)
로그인 프로세스가 그룹 멤버십을 설정할 때 가장 먼저 하는 일은 파일을 보는 것입니다 passwd
.
내 컴퓨터에서는 다음과 같습니다.
sweh:x:500:500:Stephen Harris:/home/sweh:/bin/ksh
두 번째 숫자가 결정합니다.기초적인그룹. 그래서 내 메인 그룹은 그룹 ID 500입니다.
다음으로, 내 사용자 이름이 나열된 항목을 확인하기 위해 그룹 파일을 살펴봅니다.
% grep -w sweh /etc/group
wheel:x:10:sweh
sweh:x:500:
apache:x:48:sweh
news:x:13:news,sweh
그러면 제가 그룹 10, 48, 13에 나열되어 있음을 알 수 있습니다. 이것들은중학교그룹.
다음 명령을 사용하여 이를 확인할 수 있습니다 id
.
% id
uid=500(sweh) gid=500(sweh) groups=500(sweh),10(wheel),13(news),48(apache)
이 gid
값은 기본 그룹을 나열합니다. 값 groups
목록모두나의 그룹. 기본이 아닌 모든 것은 부차적입니다.
passwd
로그인마다 및 의 항목 에 따라 기본 그룹과 보조 그룹이 다를 수 있습니다 group
.
따라서 "메이저"와 "마이너"는 컨텍스트 기반이라는 것을 알 수 있습니다.사용자해당 사용자를 정의하는 방법. 그룹 자체를 기반으로 하지 않습니다.
답변2
그것은이다: 그것이다기초적인또는중학교그룹은 전적으로 주어진 사용자 ID에 연결하는 방법에 따라 달라집니다. 일부 시스템에는usermod
예를 들어, 프로그램에는 이 그룹을 보조 그룹으로 지정하는 옵션이 있습니다.