PC/Linux
Linux C etc/passwd 에서 UID 가 1000번과 그 이상인 아이디 리스트 만들기
현종이닷
2016. 5. 27. 15:44
안녕하세요 현이입니다.
오늘 포스팅은 리눅스서버에서 쓸 기술문서들 입니다...
awk을 이용하여 uid가 1000과 그 이상의 아이디 리스트를 출력하여 파일에 저장하는 소스 입니다.
간단히 쉘로도 할 수 있습니다....
소스는
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
system("mkdir -p /usr/local/sbin/control/conf");
system("awk -F: '{ if ($3>= 1000 ) print $1 }' /etc/passwd > /usr/local/sbin/control/conf/user.conf");
system("sed -i '/nobody/d ' /usr/local/sbin/control/conf/user.conf");
}
이러합니다 .... 쉽죠??? ㅎㅎ
설명을 덛붙히자면
/etc/passwd 파일에서
:로 구분지어진 드의 3번째 값(UID)이 1000 이상인 라인을 출력받아서
awk -F: '{ if ($3>= 1000 ) print $1 }' /etc/passwd
/usr/local/sbin/control/conf/user.conf 에 저장을 한 후
sed 로 uid 65535 인 nobody를 지워라 입니다.
파일은 이러합니다~~ ㅎㅎ