강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

실무명령어# 16-4 : /etc/passwd 파일을 이용한 /etc/group 파일내용 만들기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

실무명령어# 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파일의 내용과 동일한 결과를 출력하게 됩니다.

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,819 개
  • 현재 접속자 :  113 명