alias 별칭 설정
alias 명령어는 시스템에 설정된 모든 별칭을 확인합니다.
alias ll 명령어로 ll 별칭이 실제로 어떤 명령어를 가리키는지 확인할 수 있습니다.
# alias 기본 사용법
alias # 모든 별칭 목록 출력
alias ll # ll 별칭의 실제 명령 확인
# 임시 별칭 설정 (현재 세션에서만 유효)
alias rm='echo rm command is not found'
alias rm # 설정된 alias 확인
rm -fr test.txt # 실행 결과: "rm command is not found -fr test.txt" 출력
별칭을 영구적으로 적용하려면 ~/.bashrc 또는 /etc/bashrc 파일에 설정을 추가해야 합니다.
사용자 관리
핵심 설정 파일
- /etc/passwd: 사용자 계정 정보 저장
- /etc/shadow: 암호화된 패스워드 정보 저장
- /etc/group: 그룹 정보 저장
- /etc/gshadow: 그룹 패스워드 정보 (거의 사용되지 않음)
useradd - 사용자 생성
주요 옵션:
-u: UID 지정
-s: 기본 셸 지정 (기본값: /bin/bash)
-M: 홈 디렉터리 생성 생략
# 일반 사용자 생성
useradd user1
grep 'user1' /etc/passwd
# 시스템 계정 생성 예제 (mysql: UID 1314, 로그인 불가, 홈 디렉터리 없음)
useradd -u 999 -s /sbin/nologin -M mysql
grep 'mysql' /etc/passwd /etc/group /etc/shadow
# 출력:
# /etc/passwd:mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
# /etc/group:mysql:x:27:
# /etc/shadow:mysql:! 20040::::::
# id 명령어로 확인
id mysql
# 출력: uid=27(mysql) gid=27(mysql) groups=27(mysql)
passwd - 패스워드 설정
--stdin: 비대화형(자동) 패스워드 설정
# 대화형 패스워드 설정
passwd user10
# 비대화형 패스워드 설정 (root만 가능, 대량 계정 관리에 유용)
echo "user_password" | passwd --stdin user10
su - 사용자 전환
su user: 사용자만 전환, 환경 변수는 현재 셸 유지
su - user: 완전한 사용자 환경으로 전환 (권장)
su - user10
# 현재 사용자 로그아웃: Ctrl + D (또는 logout 명령어)
userdel - 사용자 삭제
-r 옵션: 사용자와 홈 디렉터리 함께 삭제
# 사용자만 삭제 (홈 디렉터리 보존)
userdel user10
grep 'user10' /etc/passwd # 더 이상 출력 없음
ls -la /home/user10 # 홈 디렉터리는 남아 있음
# 완전 삭제 (사용자 + 홈 디렉터리)
userdel -r user11
grep 'user11' /etc/passwd # 미존재
ls -la /home/user11 # 미존재
usermod - 사용자 속성 수정
# 기존 사용자 정보 확인
useradd user11
grep user11 /etc/passwd
# 출력: user11:x:1005:1007: /home/user11:/bin/bash
su - user11 # 로그인 성공
Ctrl+D # 로그아웃
# 셸 변경 (nologin으로)
usermod -s /sbin/nologin user11
grep user11 /etc/passwd
# 출력: user11:x:1005:1007: /home/user11:/sbin/nologin
su - user11
# 출력: "This account is currently not available."
# 다시 bash 셸로 복구
usermod -s /bin/bash user11
su - user11 # 정상 로그인
그룹 관리 명령어
groupadd / groupmod - 그룹 생성 및 수정
# 그룹 GID 변경
groupmod -g 223 group2
gpasswd - 그룹 멤버십 관리
-a: 특정 그룹에 사용자 추가
-d: 그룹에서 사용자 제거
-M: 그룹의 멤버 목록 일괄 설정
# 여러 사용자를 한 번에 그룹에 추가
gpasswd -M user0,user1,user2,user3 group2
groupdel - 그룹 삭제
-f 옵션: 사용자의 주 그룹(primary group)까지 강제로 삭제
# 일반 그룹 삭제
groupdel groupname
# 강제 삭제 (주의해서 사용)
groupdel -f groupname
sudo 권한 부여
sudo는 일반 사용자에게 관리자 권한을 부분적으로 위임합니다.
# sudo 설정 파일 편집 (visudo = vim /etc/sudoers)
visudo
# 특정 명령어만 허용하는 예제
# user11 사용자가 파일 확인 명령어들을 sudo로 실행 가능
user11 ALL=(ALL) /bin/cat, /bin/head, /bin/tail, /bin/less, /bin/more, /bin/grep
# 설정 확인
grep user11 /etc/sudoers
# 일반 사용자로 전환 후 sudo 사용
su - user11
sudo head /var/log/secure
# (비밀번호 입력)
# 현재 사용자의 sudo 권한 확인
sudo -l # 마지막 2줄에 주목
모든 명령어를 비밀번호 없이 실행할 수 있는 설정 (운영 담당자에게 적합):
# /etc/sudoers 또는 /etc/sudoers.d/ 에 추가
user11 ALL=(ALL) NOPASSWD: ALL
# 설정 후 user11은 sudo와 비밀번호 입력 없이 모든 명령어 실행 가능
sudo cat /var/log/messages
sudo systemctl restart nginx