사용자 관리
- 리눅스 운영체제는 다중 사용자용 운영체제로써 여러 명의 사용자가 동시에 사용하기 떄문에 사용자 관리가 필수!
1. 슈퍼유저 (Super User)
- 사용자 ID : root
- 리눅스 시스템의 관리와 모든 접근 권한을 가짐
- 일반 사용자를 생성 관리
1-1 슈퍼유저의 권한
- 하드웨어 설치
- 소프트웨어 설치 및 삭제, 업그레이드
- 시스템 감시 및 관리
- 네트워크 설정 및 테스트
- 일반 사용자 계정 생성 및 삭제 관리
- 시스템 백업
2. 그룹(Group) 관리
- 사용자를 효과적으로 관리하기 위해서 일반 사용자들은 그룹으로 묶어 관리함
- 사용자 그룹을 생성하거나 그룹을 삭제하는 권한은 슈퍼유저에게 있음.
- 그룹별로 권한을 다르게 부여, 시스템접근 제어 가능!
3. 사용자 및 그룹(Group) 관련 파일
- /etc/passwd 파일 : 사용자 계정 정보 파일
- /etc/shadow 파일 : 사용자 암호 파일
- /etc/group 파일 : 사용자 그룹 등록 내용이 저장되어 있는 파일
- **시스템 파일이므로 함부로 수정하게 되면, 로그인 할 수 없는 경우 발생 유의!
3-1. /etc/passwd 파일
- passwd 파일이라 암호가 저장되어 있는게 아님!
- 암호가 아닌 사용자의 정보만 저장되는 명령어!
vi /etc/passwd 입력 시 뜨는 화면들, 수정없이 나갈거기 때문에 :q! 를 입력해 강제로 저장하지 않고 화면 전환!
3-2. /etc/shadow 파일
vi /etc/shadow 입력하고 난 후 창, 빠져나올때 동일하게 :q!
3-3 /etc/group 파일
첫 줄에 그룹번호가 0번인 root 그룹, 마지막줄에 centos 그룹이 1000번으로 지정됨
사용자 정보 보기 명령
- whoami : 로그인한 사용자 id 확인
- who am i : 로그인 정보
- id : 로그인한 사용자의 id 정보
- groups : 로그인한 사용자 그룹(Group) 확인
- pwd : 현재 홈 디렉토리(Home Directory) 확인, /root로 지정되어 있음.
오늘 로그인을 안해서 who am i를 했을때 아무것도 안나옴. 나머지 명령어들 입력한 모습
ctrl+alt+F3으로 가상콘솔로 이동. 위의 명령어들을 입력해본 결과값들.
사용자 계정 생성
- useradd : 기본 설정 상태로 사용자 계정을 만드는 명령어
- -d : 홈 디렉토리 지정
- -u : 사용자 번호 지정
- -s : 쉘 지정
- -g : 주그룹 지정
- -G : 부그룹 지정
test라는 그룹을 만들고 vi /etc/group에 들어가서 맨 아래에 test파일 생긴것을 확인!
groupadd -g 숫자 xxxx -> 그룹 번호 지정하여 파일 만듬
grep 명령어로 그룹 확인
usermod -g staff centos 입력 후 가상콘솔모드로 들어가서 id 확인
아이디를 만들고 가상 콘솔 들어가서 확인해본 모습
만든 계정 세부사항들 확인
Useradd 옵션
useradd -d /home/xxxx -u 숫자 -m -s /bin/bash -g staff -G centos choi
아이디 생성 : useradd choi , passwd choi //////// ls -a /etc/skel 을 통해 설정 파일을 복사해옴.
사용자 계정 삭제
- userdel : passwd 파일, shadow 파일의 내용이 삭제되지만, 홈 디렉토리는 삭제되지 않음.
- rm : 홈 디렉토리를 삭제하는 명령어
ex) rm -r /home/klm
groupdel로 tst파일 지워준 작업
userdel로 kim 파일을 지웠고, grep으로 확인해보니 passwd, shadow 파일에서 역시 삭제됨.
ls /home으로 홈디렉토리를 확인해보니 남아있어서, rm -r /home/kim 으로 홈디렉토리에서도 삭제해줌.
사용자 계정 권한
- su : 로그아웃 하지 않고, 사용자 계정을 전환하는 명령어
- ** 일반 사용자가 슈퍼유저로 전환하여 작업
- $ su : root 사용자의 암호를 입력해야 작업 전환이 가능해짐.
- $ su - : 슈퍼유저인 root 사용자 환경으로 전환됨
- ** 슈퍼유저가 일반 사용자로 전환하여 작업
- # su choi : 슈퍼유저 환경으로 전환됨
- # su -choi : 일반 사용자 환경에서 로그인 한 형태와 동일하게 전환됨
가상 콘솔에서의 su 명령어 실습
su 명령어 실습