[질문] addgroup 와 adduser

jiggol의 이미지


우분투 리눅스를 사용하는데 addgroup 와 adduser 에 대한 궁금증이 생겼습니다.
addgroup 를 확인해 보니 adduser 를 가르키는 심볼릭링크 파일이더군요.

그런데 이 둘을 실행하면 서로 다르게 동작을 한다는 겁니다.
adduser test 하면 유저 생성 및 test 그룹 생성 그리고 /home/test 를 생성하죠.

하지만 addgroup 는 test 그룹을 생성만 합니다.
물론 adduser 의 옵션에 --group 를 붙이면 그룹만 생성 가능합니다.

그렇다면 심볼릭 링크를 생성 시에 이런 옵션도 함께 지정을 했기 때문에 서로 다르게 동작 하는 것인가요?

테스트 삼아 ln -s /usr/sbin/adduser /home/testaddgroup --group 하니 당연히 에러가 뜨더군요.
왜 이렇게 서로 다르게 동작하는지 너무 궁금하네요.

bushi의 이미지

argv[0] 에 따라 다르게 동작하게 만들 수 있습니다.

OTL

jiggol의 이미지


속시원한 답변 감사합니다.!

Iinux의 이미지

리눅스에서 많은 유틸리티들의 스몰셋 - 실행파일크기가 작고 기능이 약간 적은 형태 -를 지원하기 위해
비지박스(BusyBox)라는 라이브러리가 있습니다.

스몰셋이 왜 필요하냐면... 임베디드에서는 작은게 필요하니깐요(플래쉬용량제한)

비지박스에서도 하나의 실행파일에 심볼릭링크를 걸어서 대부분의 유틸리티들을 제공합니다.
그 많은 유틸들의 실행파일이 한개뿐이라는...

여기서도 심볼릭링크의 argv[0]으로 처리하더군요

그러면..왜? 크기를 작게할 필요도 없으면서
구지 햇갈리게 addgroup를 심볼링링크로 했을까요?

=====================

=====================