wow
This commit is contained in:
parent
372775f34c
commit
6b5a7efb49
1 changed files with 8 additions and 3 deletions
11
src/users.c
11
src/users.c
|
|
@ -9,16 +9,21 @@ void MDEListUsers(void(*call)(const char* name, void* user), void* user){
|
|||
setpwent();
|
||||
while((pwd = getpwent()) != NULL){
|
||||
char* dir;
|
||||
char* shell;
|
||||
|
||||
/* this is BAD check. and i cannot do anything about it
|
||||
*
|
||||
* i appreciate the insanity
|
||||
*/
|
||||
|
||||
if(pwd->pw_dir == NULL) continue;
|
||||
if(pwd->pw_dir == NULL || pwd->pw_shell == NULL) continue;
|
||||
if(pwd->pw_name[0] == '_') continue;
|
||||
if(strlen(pwd->pw_dir) >= 5 && memcmp(pwd->pw_dir, "/var/", 5) == 0) continue;
|
||||
if(strlen(pwd->pw_dir) >= 5 && memcmp(pwd->pw_dir, "/usr/", 5) == 0) continue;
|
||||
|
||||
shell = strrchr(pwd->pw_shell, '/');
|
||||
if(shell == NULL) break;
|
||||
shell++;
|
||||
|
||||
if(strcmp(shell, "nologin") == 0) continue;
|
||||
|
||||
dir = strrchr(pwd->pw_dir, '/');
|
||||
if(dir == NULL) break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue