IT 프로그래밍/오픈소스소프트웨어

[오픈소스소프트웨어] part6 사용자 정보

기술1 2024. 10. 12. 16:49
반응형

사용자 정보 검색

사용자를 검색하는 명령어들

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 사용자에 대한 정보를 확인하라

반응형