[Linux] 모든 계정 패스워드 한꺼번에 변경하기

denylist 에는 바꾸지 않을 유저명만 적어주면 됩니다.(python2.2 이상에서적용하세요...)
레드햇 기준이며 man passwd 에서 --stdin 이 나오면 사용가능합니다.

#!/usr/local/bin/python

import os
import commands
import sys

denylist = ['root','nobody']

f = open("/etc/passwd")
for a in f:
    a = a.strip("\n")
    a = a.split(":")
    if a[0] not in denylist:
        os.system("echo \"pass!word@\"|passwd %s --stdin" %a[0])
        print a[0]

# 자신의 프로그램삭제
os.system("rm -fv ./%s" %sys.argv[0])

가장 많이 본 글