실무명령어# 16-4 : /etc/passwd 파일을 이용한 /etc/group 파일내용 만들기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,056 조회
- 0 추천
- 목록
본문
실무명령어# 16-4 : /etc/passwd 파일을 이용한 /etc/group 파일내용 만들기
이번에는 /etc/passwd파일을 이용하여 /etc/group파일의 내용을 만들어 보도록 하겠습니다.
/etc/group파일의 형식은 "ID:x:GID:소속계정리스트"와 같은 형태로 되어 있습니다.
여기에서 소속계정리스트는 각계정의 GID를 모두 조사하여 각 그룹리스트에 입력을 시켜주어야 하지만 awk명령어 한번으로 이를 만들기가 까다로우므로 소속그룹리스트가 없다는 가정하에 위와같은 형식의 /etc/group파일을 만들어 보도록 하겠습니다.
[root@file root]# cat /etc/passwd | awk -F: '{print $1"\:x\:"$4":"}' root:x:0: bin:x:1: daemon:x:2: gopher:x:30: ftp:x:50: nobody:x:99: rpm:x:37: vcsa:x:69: nscd:x:28: sshd:x:74: rpc:x:32: rpcuser:x:29: nfsnobody:x:65534: mailnull:x:47: smmsp:x:51: pcap:x:77: apache:x:48: squid:x:23: webalizer:x:67: xfs:x:43: named:x:25: ntp:x:38: gdm:x:42: postgres:x:26: bible:x:500: sspark:x:501: working:x:502: locli:x:503: mysql:x:504: test01:x:505: test02:x:506: test03:x:507: jinious:x:509: public:x:510: samba:x:511: [root@file root]# |
지금까지 사용했던 방법과 동일하게 "cat /etc/passwd"파일을 출력한 다음 ":"문자로 각행들의 항목들을 구분(-F:)한 다음 '{print $1"\:x\:"$4":"}'이 출력되게 됩니다. 여기서 "\"문자의 의미는 그뒤에 나오는 문자를 그대로 출력하기 위한 특수문자입니다.
따라서 $1은 ID를 출력하고 $4는 GID를 출력하므로 '{print $1"\:x\:"$4":"}'의 결과는 "ID:x:GID:"와 같은 형태로 출력이 됩니다.
따라서 위의 명령의 결과는 /etc/group파일의 내용과 동일한 결과를 출력하게 됩니다.
관련자료
-
이전
-
다음