mirror of
				https://github.com/xcat2/confluent.git
				synced 2025-10-31 03:12:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| uidmin = 1000
 | |
| uidmax = 60000
 | |
| gidmin = 1000
 | |
| gidmax = 60000
 | |
| for line in open('/etc/login.defs').read().split('\n'):
 | |
|      try:
 | |
|          line = line[:line.index('#')]
 | |
|      except ValueError:
 | |
|          pass
 | |
|      keyval = line.split()
 | |
|      if len(keyval) < 2:
 | |
|          continue 
 | |
|      if keyval[0] == 'UID_MIN':
 | |
|          uidmin = int(keyval[1])
 | |
|      if keyval[0] == 'UID_MAX':
 | |
|          uidmax = int(keyval[1])
 | |
|      if keyval[0] == 'GID_MIN':
 | |
|          gidmin = int(keyval[1])
 | |
|      if keyval[0] == 'GID_MAX':
 | |
|          gidmax = int(keyval[1])
 | |
| 
 | |
| def show_passwd(shadowmode=False):
 | |
|     for line in open('/etc/passwd').read().split('\n'):
 | |
|         try:
 | |
|             user, _, uid, _ = line.split(':', 3)
 | |
|         except ValueError:
 | |
|             continue
 | |
|         uid = int(uid)
 | |
|         if uid >= uidmin and uid <= uidmax:
 | |
|             if shadowmode:
 | |
|                 yield '{0}:!!:::::::'.format(user)
 | |
|             else:
 | |
|                 yield line
 | |
| 
 | |
| def show_group(shadowmode=False):
 | |
|     for line in open('/etc/group').read().split('\n'):
 | |
|         try:
 | |
|             _, _, gid, _ = line.split(':', 3)
 | |
|         except ValueError:
 | |
|             continue
 | |
|         gid = int(gid)
 | |
|         if gid >= gidmin and gid <= gidmax:
 | |
|             yield line
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     if 'passwd' in sys.argv[1]:
 | |
|         for line in show_passwd():
 | |
|             print(line)
 | |
|     elif 'shadow' in sys.argv[1]:
 | |
|         for line in show_passwd(True):
 | |
|             print(line)
 | |
|     elif 'group' in sys.argv[1]:
 | |
|         for line in show_group():
 | |
|             print(line)
 | |
|       
 | |
| 
 |