[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])
레드햇 기준이며 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])