Терминал представляет собой командную строку или интерпретатор между пользователем и машиной, целью которой является доступ к исходному коду, который не будет доступен при нормальном использовании.
Прокрутите файл, разбивая каждую строку на поля и проверяя, не имеет ли 6-го поля «без входа» для всех строк, где UID больше 1000
>>> with open("/etc/passwd") as file:
... for line in file:
... if int(line.split(":")[2]) > 1000 and not str(line.split(":")[6]).__contains__("nologin"):
... print line
...
testuser:x:1001:1001:,,,:/home/testuser:/bin/bash
tester:x:1002:1002:TESTER,,,:/home/tester:/bin/bash
newUser:x:1003:1003::/home/newUser:
testUser:x:1004:1004::/home/testUser:
testuser2:x:1005:1005:asdf,asdf,asdf,asdf,asdf:/home/testuser2:/bin/bash
Имена пользователей, у которых есть набор оболочек может войти в эту оболочку, например, xieerqi имеет /bin/mksh, а testUser - /bin/bash. У других пользователей нет набора оболочки, который по умолчанию будет /bin/bash