태그 보관물: solaris

solaris

Solaris bash 스크립트 / 검색 및 / etc / group의 행 끝까지 필드 추가 10u8 시스템의 특정 로컬 그룹에

/ etc / group을 수정하여 NIS 사용자를 Solaris 10u8 시스템의 특정 로컬 그룹에 추가하고 삭제할 bash 스크립트가 필요합니다. 가변적으로 uid와 groupname을 갖는 선호되는 하나 또는 두 개의 함수.

/ etc / group 파일의 groupbbb에 사용자 myuser를 추가하기 전에 inputfile

...
groupaaa::98000:
groupbbb::98001:hisuser
groupccc::98003:
...

결과물 파일

...
groupaaa::98000:
groupbbb::98001:hisuser,myuser
groupccc::98003:


이 함수는 사용자가 이미 로컬 그룹에 속해 있는지 확인하고 종료해야합니다.

나는 sed 또는 awk 또는 다른 것을 사용해야 할 것입니다. 누구나 멋진 라이너를 가질 수 있습니다 🙂

리눅스에서는 gpasswd가 있지만 Solaris에서는 해당 명령을 찾을 수 없습니다. 사용자는 시스템에 국한되지 않지만 NIS 사용자는 usermod가 작동하지 않을 것이라고 생각합니다!

어떤 포인터에 감사드립니다!

/ Smedis



답변

이 함수를 호출하십시오.

gradd () { local group=$1 user=$2; sed "/^${group}:/{/\<${user}\>/! s/$/,${user}/}' /etc/group; }

이렇게 :

gradd groupbbb myuser > /tmp/newgroups && mv /tmp/newgroups /etc/group

파일 리디렉션 및 이름 바꾸기는 함수 내에서 이동할 수 있습니다.

gradd () { local group=$1 user=$2; sed "/^${group}:/{/\<${user}\>/! s/$/,${user}/}' /etc/group  > /tmp/newgroups && mv /tmp/newgroups /etc/group; }

호출은 다음과 같습니다.

gradd groupbbb myuser


답변