awk를 이용하여 외부 호스트의 파일 사용하는 방법

WooooN의 이미지

안녕하세요

cluster운영중인 linux초보입니다.

awk를 이용하여 /etc/passwd의 내용을 사용하고자 합니다.

현재 시스템이 cluster로 구성되어있으며 account server(NIS master)를 별도로 운용중인데요

NIS로 구성되어 사용자 정보는 account server에서만 가지고 있으며 다른 시스템의 /etc/passwd는 기본적인 passwd정보만 가지고 있습니다.

이 때문에 사용자정보를 활용하여 데이터를 추출하는 방법은 account server에서만 작동되며 다른시스템에서는 정상적으로 활용할 수가 없어 불편한점이 있습니다.

좀더 편하게 사용해보고자 scp를 사용할때 처럼 hostname:/path 를 활용해 아래처럼 사용해 봤는데 진행이 안되네요

 $ awk -F : '{print "command" $1 "-option"}' account:/etc/passwd |sh -x

ps.공개키가 등록되어 있어 password없이 접근은 가능합니다.
ex) $ scp account:/etc/passwd ./ 는 정상적으로 복사 가능

고수님들의 도움을 받고자 질문 올려봤습니다.

ymir의 이미지

구체적으로 뭘 하려는 건지 감이 잘 안 오긴 한데..
단지 다른 서버에 있는 passwd 파일을 가져와서 뭔가 스크립트를 돌리고 싶으신 거라면..
별도로 패스워드 입력 없이 scp 가 되는 환경이니.. 그냥 ssh 를 써도 될 것 같네요.

$ ssh ymir@cli1 cat /etc/passwd | grep root
ymir@cli1's password:
root:x:0:0:root:/root:/bin/bash

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

WooooN의 이미지

우선 감사합니다.

자꾸 awk '{print $1}' /etc/passwd만 생각하고 cat /etc/passwd | awk '{print $1}'을 생각 못했네요

거기다 ssh hostname cat /etc/passwd라니... 몰랐던 내용입니다...

거기다 제가 설명이 부족했던지라 답변주시는데 어려운점이 있었나봅니다...

script를 작성하여 사용자들의 이용시간 확인하는내용인데 설명이 부족했나 봅니다.

comman 'username' -option 과 같은 방식이였는데 단순히 username만 가져오는 것이였습니다.

다시한번 감사드립니다.