클라우드/리눅스(Linux)_Fundamentals
7-3. 사용자와 그룹관련 명령어
datasa
2023. 4. 24. 12:20
1. 특정 조건에 맞는 사용자 목록 확인:
# 특정 문자열을 포함하는 사용자 이름 목록 확인
getent passwd | grep "search_string"
# 특정 그룹에 속한 사용자 목록 확인
groups -a | grep "group_name"
# UID 범위 내에 있는 사용자 목록 확인
awk -F ':' '{print $3}' /etc/passwd | grep -E "min_uid|max_uid"
# 로그인 쉘이 특정 쉘인 사용자 목록 확인
getent passwd | grep -E "/bin/bash|/bin/zsh"
2. 특정 그룹에 속한 모든 사용자에게 이메일 전송:
# 그룹에 속한 사용자 목록 확인
groupmems group_name
# 사용자 목록을 루프하며 이메일 전송
for username in $(groupmems group_name); do
echo "Sending email to $username..."
mail -s "Important Notice" $username < message.txt
done
3. 특정 사용자의 권한 변경:
# 사용자를 특정 그룹에 추가
usermod -g group_name username
# 사용자에게 특정 파일 또는 디렉토리에 대한 권한 부여
chown username:group_name file_or_directory
chmod 644 file_or_directory
# sudo 권한 부여
visudo
# 특정 명령어 실행 권한 부여
echo "username ALL=(ALL) NOPASSWD: /path/to/command" >> /etc/sudoers
4. 사용자 계정 만료 설정:
# chage 명령어 사용
chage -M 60 username # 최대 사용 기간 60일 설정
chage -E 2024-03-08 username # 계정 만료 날짜 2024년 3월 8일 설정
chage -W 7 username # 경고 기간 7일 설정
5. 비활성 사용자 계정 삭제:
# find 명령어 사용
find /home -type d -mtime +30 -exec ls -ld {} \; | grep -v "total"
# awk 명령어 사용
awk -F ':' '{print $1}' /etc/passwd | sort | uniq -u | xargs -I '{}' find /home/{} -mtime +30 -type d
# 삭제 명령어 실행
userdel -r inactive_username
O 주의:
- 위 명령어는 예시이며, 실제 환경에 맞게 수정하여 사용해야 합니다.
- 중요한 시스템 파일을 편집하기 전에 백업을 하는 것이 좋습니다.
- 명령어를 사용하기 전에 man 명령어를 사용하여 사용 방법을 확인하십시오.