티스토리 뷰

https://sesoc.tistory.com/108?category=1048265

※ 이 명령어들은 예시이며, 실제 확녕에 맞게 수정하여 사용해야 한다.

※ 중요한 시스템 파일을 편집하기 전에 백업을 하는 것이 좋다. 

※ 명령어를 사용하기 전에 man 명령어를 사용하여 사용 방법을 확인하자.

 

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 -Ⅰ '{}' find /home/{}

# 삭제 명령어 실행
userdel -r inactive_username

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함