Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50e28c7cfd | ||
|
|
65b7a6ad43 |
@@ -131,14 +131,25 @@ for ssh_group in ${ssh_groups[@]}; do
|
|||||||
# check user create time, if we have set it in comment
|
# check user create time, if we have set it in comment
|
||||||
user_create_date_string=$(cat /etc/passwd | grep "${username}:" | cut -d ":" -f 5);
|
user_create_date_string=$(cat /etc/passwd | grep "${username}:" | cut -d ":" -f 5);
|
||||||
# if empty try last password set time
|
# if empty try last password set time
|
||||||
if [ -z "${user_create_date_string}" ]; then
|
if ! [[ "${user_create_date_string}" =~ ^\d{4}-\d{2}-\{2} ]]; then
|
||||||
# user L 11/09/2020 0 99999 7 -1
|
# user L 11/09/2020 0 99999 7 -1
|
||||||
user_create_date_string=$(passwd -S ${username} | cut -d " " -f 3);
|
user_create_date_string=$(passwd -S ${username} | cut -d " " -f 3);
|
||||||
fi;
|
fi;
|
||||||
# last try is user home .bash_logout
|
# last try is user home .bash_logout
|
||||||
if [ -z "${user_create_date_string}" ]; then
|
if ! [[ "${user_create_date_string}" =~ ^\d{4}-\d{2}-\{2} ]]; then
|
||||||
home_dir=$(cat /etc/passwd | grep "${username}:" | cut -d ":" -f 6)"/.bash_logout";
|
# try logout or bash history
|
||||||
user_create_date_string=$(stat -c %Z "${home_dir}");
|
home_dir_bl=$(cat /etc/passwd | grep "${username}:" | cut -d ":" -f 6)"/.bash_logout";
|
||||||
|
home_dir_bh=$(cat /etc/passwd | grep "${username}:" | cut -d ":" -f 6)"/.bash_history";
|
||||||
|
# check that this file exists
|
||||||
|
if [ -f "${home_dir_bl}" ]; then
|
||||||
|
user_create_date_string=$(stat -c %Z "${home_dir_bl}");
|
||||||
|
elif [ -f "${home_dir_bh}" ]; then
|
||||||
|
user_create_date_string=$(stat -c %Z "${home_dir_bh}");
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
# still no date -> set empty
|
||||||
|
if ! [[ "${user_create_date_string}" =~ ^\d{4}-\d{2}-\{2} ]]; then
|
||||||
|
user_create_date_string="";
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
# below only works if the user logged in, a lot of them are just file upload
|
# below only works if the user logged in, a lot of them are just file upload
|
||||||
@@ -158,7 +169,7 @@ for ssh_group in ${ssh_groups[@]}; do
|
|||||||
found=$(grep "${username};" "${AUTH_LOG}");
|
found=$(grep "${username};" "${AUTH_LOG}");
|
||||||
fi;
|
fi;
|
||||||
# always pre work account dates if they exist, but output only if text
|
# always pre work account dates if they exist, but output only if text
|
||||||
if [ -z "${found}" ] && [ ! -z "${user_create_date_string}" ]; then
|
if [ ! -z "${user_create_date_string}" ]; then
|
||||||
user_create_date=$(echo "${user_create_date_string}" | date +"%s" -f -);
|
user_create_date=$(echo "${user_create_date_string}" | date +"%s" -f -);
|
||||||
# if all empty, we continue with only check if user has last login date
|
# if all empty, we continue with only check if user has last login date
|
||||||
# else get days since creation
|
# else get days since creation
|
||||||
|
|||||||
Reference in New Issue
Block a user