c에서 group 추가 삭제하는 방법

icebug의 이미지

안녕하세요. 우선 좋은 하루 되세요.

리눅스에서 c로 프로그램을 하고있는데

/etc/group 파일에 그룹을 추가하거나 삭제하는 방법을

알고싶습니다. 함수를 아무리 찾아봐도 찾지를 못하겠습니다.

그럼 즐거운 하루 되세요.

세벌의 이미지

/etc/group 파일은 그냥 평범한 텍스트 파일입니다. 열어보시면 형식은 금방 알아 보실 겁니다. 파일 입출력에 대해 공부를 하시면 될 듯.

질문의 뜻을 제가 잘 이해한건지 아닌지 잘 모르겠는데 /etc/group 에 group를 추가하는 명령을 찾는다면 addgroup 또는 groupadd 이런게 있겠군요. 배포판에 따라 이 명령이 있는 것도 있고, 없는 것도 있다고 들었습니다.

아니면 단순히 vi로 열어서 그냥 편집해도 되고요.

alwaysrainy의 이미지

참고로.. /etc/group 는 root에게만 쓰기 권한이 열려 있죠..
C 프로그램에서 접근하시려면 root 권한으로 프로그램 돌리시던가
실행 파일에 suid를 거셔야 합니다..

---------------------------------------
세계는 넓고, 할일은 많다.

FruitsCandy의 이미지

실행파일에 suid 주시고

프로그램 안에서 시스템 콜로 처리 하세요

#include <sys/types.h>

int main()
{

//어쩌고 저쩌고 코드...

...

//그룹 추가가 필요한 부분에서
system("groupadd testgroup");

...

//어쩌고 저쩌고 코드...
return ;
}

아지랑이류 초환상 공콤 화랑... 포기하다.. T.T