사용자 정보 검색
사용자를 검색하는 명령어들
whoami
현재 사용자를 알려준다.
who
현재 로그인 되어있는 사용자들에 대한 정보
w
현재 로그인한 사용자들이 수행중인 태스크를 보여준다.
id
현재 사용자에 대한 사용자id, 기본 그룹 id, 소속 그룹 리스트를 보여준다.
su명령
su 명령은 다른 사용자ID로 새로운 쉘을 시작하는 명령입니다.
형식 : su [-] [user name]
- username에 해당하는 사용자로 새로운 쉘을 시작합니다. 새로운 사용자의 암호를 입력해야 성공적으로 동작합니다.
- user-id를 인자가 없는 경우 root 사용자로 쉘을 시작합니다. 현재 사용자가 root인 경우 암호 없이 임의의 사용자로 변경이 가능합니다.
- '-' 옵션은 user 로그인 환경을 그대로 적용하려는 경우에 선택합니다. 환경 : 환경변수와 현재 디렉토리
- 새로 생성된 쉘을 빠져나오려면 'ext' 명령을 유지시킵니다.
sudo 명령
다른 사용자로 명령을 수행하는 프로그램
- /etc/sudoers 파일을 통해 sudo 명령을 이용할 수 있는 사용자를 설정
- root 사용자의 암호를 몰라도 root 권한으로 명령을 수행할 수 있음
- 새로운 사용자를 생성하는 /usr/sbin/adduser 명령을 이용하여 사용자 foo를 추가해 볼 것
sudo su -
- Ubuntu에서 root 사용자로 쉘을 사용하기 위한 명령
- Ubuntu에서는 root 사용자에 대한 암호가 없으므로 root 사용자로 로그인하는 것이 불가능
- 따라서 sudo를 통해서만 root 사용자로 쉘을 사용할 수 있음
- /var/log/auth.log를 통해 root 사용자에 대한 sudo 사용 내역을 볼 수 있음
실습
1. 현재 사용자 ID를 보여주는 명령
2. 로그인된 모든 사용자들을 보여주는 명령
3. 로그인된 사용자와 그들이 실행중인 명령을 보여주는 명령
4. 현재 사용자와 그 ID를 보여주는 명령
5. adduser를 통해 사용자 생성
/etc/passwd
- Linux사용자에 대한 정보를 유지하는 파일
- ':' 문자로 각 컬럼의 값을 구분함
- 각 컬럼의 정보 : username, x, 사용자ID, 기본그룹ID, 사용자에 대한 설명, 홈디렉토리, 로그인쉘
사용자의 생성과 제거
- 사용자 생성 : /usr/sbin/useradd 또는 /usr/sbin/adduser 사용
- 사용자 제거 : /usr/sbgin/userdel 또는 /usr/sbin/deluser
- 사용자 정보의 변경 : /usr/sbin/usermod
- 관련 파일
- /etc/default/useradd 는 새로 생성되는 사용자에 대한 디폴트 설정값을 보관
- /etc/skel/ 는 새로 생성된 사용자의 홈디렉토리에 복사될 파일들이 위치함
- chsh 는 자신의 로그인쉘을 변경하는 명령 : 예)chsh -s/bin/ksh
실습
1. su 명령을 사용하여 foo 사용자로 전환 후 명령어 실행
2. su - 명령을 사용하여 foo 사용자 전환 후 명령을 실행
이 명령어는 foo 사용자 전환 뿐만 아니라 로그인 쉘 환경을 초기화하여 foo 사용자의 환경 변수를 완전히 로드합니다. 환경변수와 로그인 쉘이 완전히 로드되는 것을 볼 수 있습니다.
암호의 변경
passwd[user name]
인자로 주어진 사용자에 대한 암호 변경
/etc/shadow
각 사용자에 대한 암호를 관리하는 파일(암호는 암호화되어 저장)
':'로 구분된 컬럼값을 유지
- 사용자 이름
- 암호화된 암호
- 가장 최근 암호 변경된 날짜
- 암호를 변경할 수 없는 날짜수
- 암호 만료일
- 암호 변경 경고 날짜수
- 암호 만료일 이후 해당 사용자 계정 불능화하는
- 불능화된 일자
/etc/login.defs
암호를 비롯한 로그인 관련 디폴트 값들을 저의, PASS_로 시작하는 값들은 암호 설정
사용자 환경 설정
사용자가 로그인할때 환경에 영향을 미치는 여러 설정 파일들이 순차적으로 적용됨
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
- ~/.bashrc
bash 쉘을 빠져나갈 때 적용되는 파일
- ~/.bash_logout
동작이 조금 다른 것을 알 수 있습니다.
그룹 관리
그룹은 사용자의 집단을 구분하여 데이터 공유 및 권한 관리를 위해 사용합니다.
그룹 관련 명령
groupadd
그룹을 추가하는 명령
groups
그룹 목록을 출력
groupdel
그룹을 제거
groupwd
그룹관리 명령
관련 파일
/etc/group
그룹 정보를 유지하는 파일
/etc/gshadow
그룹 관리자에 대한 정보를 유지
실습
1. 사용자 serena 생성
sudo adduser serena
2. /etc/passwd/, /etc/shadow/, /etc/group 파일의 내용을 확인하고 새로만든 serena 사용자에 대한 정보를 확인하라
'IT 프로그래밍 > 오픈소스소프트웨어' 카테고리의 다른 글
[오픈소스소프트웨어] 7.3 파일 접근 관리 (0) | 2024.10.13 |
---|---|
[오픈소스소프트웨어] part7-1 (0) | 2024.10.12 |
[오픈소스소프트웨어] part5-2 text editor (1) | 2024.10.12 |
[오픈소스소프트웨어 ]chap5-1 표준입출력 (3) | 2024.10.12 |
[오픈소스소프트웨어] char4-3 쉘 임베딩, 파일 패턴 (0) | 2024.10.12 |