본문 바로가기

리눅스

su, PAM, skel, process

su

su 는 사용자를 변경할 때 사용한다. 변경할 사용자의 패스워드 입력 필요.


sudo 는 일시적(5분)으로 관리자로 전환해서 작업할 때 사용한다. 관리자 패스워드 입력이 필요하며 /etc/sudoers 파일에 해당 사용자가 등록되어져 있어야 한다.

su -c '관리자_명령어' 는 한 번만 관리자 권한으로 작업할 때 사용한다. 관리자 패스워드 입력 필요.


sudo su 는 일반 사용자의 패스워드로 관리자로 들어갈 수 있는데 먼저 해당 사용자는 /etc/sudoers 파일에 등록되어져 있어야 한다.

 

 

 

 PAM((Pluggable Authentication Module) 모듈
  PAM은 여러 곳에 분산되어 있는 ssh, su, ...등 도구별 사용자 인증을 한 곳으로 통합해서 인증시키는 도구인데 작업 효율과 보안이 증진되고, 설정상 오류를 줄일 수 있다. 일반 개별 도구별 설정보다 우선해서 적용된다.

  SSHD로 예를 들어 보자면 /etc/sshd/sshd_config라는 설정 파일이 있지만 /etc/pam.d/sshd에서 설정하면 앞의 설정 파일 보다 우선 적용 된다.

  또한 일반 사용자가 root의 패스워드만 알고 있으면 su (- root)해서 root의 패스워드만 알면 누구나 들어갈 수 있었다.
/etc/pam.d/su 파일에서 wheel 그룹의 사용자만 su 해서 root로 들어가게 하면 wheel 그룹 이외의 사용자는 설령 root의 패스워드를 알고 있다고 해도 root로 들어갈 수 없다. 

 

 

getent는 nsswitch.conf 파일에서 설정된 내용을 보여준다.

  Linux 시스템에서는 어느 명령어를 실행하면 내부적으로 /etc/nsswitch.conf 파일에 정의된 엔트리를 데이터베이스와 라이브러리 파일에서 찾아서 접속함으로써 해당 명령어가 실행되는데 getent는 이런 엔트리를 보이는 명령어이다. 대부분 엔트리는 /etc/ 아래에 있다. 'getent 명령어'하면 직접 해당 명령어를 실행하는 것과 같다.


  /etc/nsswitch.conf 파일은 원격지 호스트의 (데이터베이스에 저장되어 있는) passwd 파일에 접속할 때도 사용된다. /etc/passwd 파일은 로컬 호스트에 있는 파일이고, 도메인에 있는 엔터프라이즈 Linux 서버는 네트워크에서 사용자의 도메인 로그인 인증 정보를 가지고 있다가 사용자가 로그인할 때 필요한 정보를 제공해주는 NIS(Network Information System)를 사용해서 도메인 전체 사용자의 로그인 계정을 관리할 수 있다. 

 

/etc/skel

  이 디렉터리 안에 있는 파일들은 새로운 사용자 생성 시 생기는 홈디렉터리에 추가되는 파일들이다.

 

 

process

ps, pidof, top: 프로세스의 정보를 보여줌

nice, renice(-20~19): CPU의 점유율의 우선순위를 지정, renice는 재지정 

 

&: 해당 명령어 작업을 백그라운드로 실행

%: 최근 작업번호를 보임

bg 작업명: 포어그라운드 작업을 백그라운드로 보냄

fg %job_id: 해당 백그라운드 작업을 보어그라운드로 보냄

jobs: 모든 백그라운드 작업을 보임

[]+/[]-: []+는 fg나 bg 명령어에 의해 현재 실행되고 있는 디폴트 job 

         []-는 현재 디폴트 잡이 중지 되었을 때 새로 실행될 job

 

 

ram의 정보를 보는 free, sync