여러 사용자 삭제

여러 사용자 삭제

저는 루트이고 다른 사용자들이 사용할 수 있는 메뉴를 설정하고 있습니다. 다른 사용자에게는 이 메뉴만 표시됩니다.

상호 관련된 두 가지 옵션이 있습니다. 첫 번째 옵션은 사용자를 검색하는 것입니다. 내가 얻는 코드는 다음과 같습니다.

last | awk '{print $1,$4,$5,$6,$7} ' 

이 코드를 확인한 결과 작동하며 사용자 이름과 마지막으로 로그인한 날짜가 표시됩니다.

두 번째 옵션의 경우: 날짜를 설정한 다음 위 명령의 출력을 사용하여 해당 날짜 이후 활성 상태가 아닌 사용자를 삭제하고 싶습니다.

저는 Linux Mint와 Vim 텍스트 편집기를 사용하고 있습니다.

답변1

다음을 수행할 수 있습니다.

root@host#lastlog -b Num_Days_Since_Last_Login | root@host#lastlog -b Num_Days_Since_Last_Login | egrep -v "^username|로그인한 적 없음" | awk '{print $1}' |

여기서 Num_Days_Since_Last_Login은 마지막 로그인 이후의 정수 일수입니다.

답변2

완벽한 솔루션:

#!/bin/bash

maxdate=$(date -d "$1" +%s) || exit 1
daysdate=$((($(date +%s)-maxdate)/(3600*24)))

LANG=C lastlog -b $daysdate -u 1000- |
    awk 'NR>1{print $1}' |
    xargs -n1 echo userdel

테스트하고 echoforReal™을 제거하세요. 사용 예:

./script.sh 'Fri Dec  5 17:00:06 CET 2013'

관련 정보