IT/리눅스마스터1급

리눅스 프로필과 환경변수를 설정하는 방법

알콩달콩아빠 2023. 8. 19. 21:11
728x90
반응형

리눅스 부팅 순서

 

 

초기화 스크립트 작성 위치

 

 

Shell 스크립트 실행 순서

 

로그인 할 때 실행되는 스크립트

 

 

두개가 실행되는 이유

 

/etc/profile

 

모든 사용자에게 적용되는 설정이 적용

 

~/.profile

 

현재 로그인한 사용자에게 적용되는 설정

 

 

/etc/profile 확인해보기.

 

cd /etc -> ls

 

etc폴더에는 여러가지 파일들이 있다 

 

etc 디렉토리

 

 

ls profile -> ls -l profile -> cat profile

 

profile 파일이 있는지 확인해본다. 그이후 상세보기로 파일 형식이 어떤지 확인한다. profile 은 일반파일 이다 파일 내용을 확인해본다.

 

profile 파일 스크립트

 

 

cd profile.d/ -> ls

 

if [ -d /etc/profile.d ] 디렉토리 에 가서 리스트 목록 확인.

 

 

profile 파일 별칭 설정 해보기(1)

 

sudo nano ../profile

 

제일 밑에 alias aa='ls-l

 

profile alias 추가

 

 

aa 실행

 

aa 가 없다 나온다. aa 를 적용하는 방법은 두 가지가 있다. source 명령어를 이용하거나 다시 재접속 하는 방법이 있다.

aa를 실행하기 위해 재접속을 하겠다. exit && logout

 

aa 실행

 

 

 

profile 파일 별칭 설정 해보기(2)

 

profile 에 가서 alias 값을 지워준다. 지운 내용이 적용되기 위해 다시 재접속을 한다.

 

profile alias 삭제

 

 

cd profile.d/ -> ls

 

본인의 디렉토리 위치마다 명령어가 다르다. 나는 etc 디렉토리 안에 있기때문에 

etc안에 profile.d 디렉토리로 이동후 파일을 하나 만든다.

 

 

sudo nano alias.sh

 

sh 확장자는 shell을 의미한다. alias aa='ls -l' 생성후 저장하고 나온다.

 

alias.sh 파일

 

 

alias.sh 파일은 일반파일로 분류 되어있다 실행권한도 없지만 한번 로그아웃하고 실행해보겠다.

 

 

 

 

 

재접속 후 실행

 

잘 실행이 된다 그이유는 /etc/profile -> /etc/profile.d 을 읽고 그다음 ~/.profile 읽는다.

 

 

 

 

방금 만들었던 /etc/profile.d/alias.sh 파일을 삭제후 이제 개인화된 프로필 에 설정을 하겠다.

 

/etc/profile.d 디렉토리 에 이동되어 있어야한다.

 

sudo rm alias.sh 삭제후 재접속 실행해보니 삭제되었다.

 

삭제 이미지

 

 

profile 파일 별칭 설정 해보기(3)

 

cd ~

 

내 개인 디렉토리 이동

 

ls -a

 

숨겨진 파일 까지 확인하니 .profile이라는 파일이 있다. 이파일을 편집해보겠다.

 

숨겨진파일 확인

 

nano .profile

 

alias aa='ls -l'추가 아오 지겨워.. 또 재접속 해야 실행된다..

 

.profile 수정

 

 

실행 완료

 

 

그렇다면 다른 유저로 로그인을 해보겠다. 

 

개인 폴더에서 .profile 을 변경한것 이기 때문에 다른 계정에는 적용되지 않는다.

 

실행되지 않음

 

 

Shell 에서 추가로 읽어주는 파일

 

/etc/profile 외에 /etc/bash.hashrc ... 가 있다.

 

shell에서 추가로 읽어주는 파일

 

 

그렇다면 이렇게 나뉘어져 있는 이유

 

로그인 상태일땐 /etc/profile , ~/.profile 전체 프로세스가 실행되는데

 

비로그인 창 일땐 bashrc 프로세스가 실행된다.

 

 

환경 변수를 설정할 수 있는 파일들

 

 

환경 변수를 설정할 수 있는 파일들

 

 

PAM(Pluggable Authentication Modules)

 

PAM(Pluggable Authentication Modules)

 

 

리눅스 - PAM은 인증 작업을 4가지 독립적인 관리 그룹으로 분리한다.

 

- 계정 모듈(account module)들은 명시된 계정이 현재 조건에서 유효한 인증 목표인지를 검사한다. 이것은계정 유효기간, 시간 그리고 사용자가 요청된 서비스에 접근 가능한지 같은 조건을 포함한다.

 

- 인증 모듈(authentication module)들은 비밀번호를 요청하고 검사하는 것 같이 사용자의 신원을 확인한다. 또한 인증 정보를 keyring 같은 다른 시스템들에 전달한다.

 

- 비밀번호 모듈(password module)들은 비밀번호 갱신을 책임진다. 또한 강력한 비밀번호 강화에도 사용된다.

 

- 세션 모듈(session module)들은 세션 시작과 끝에 수행되는 행동을 정의한다. 그 후 사용자는 성공적으로 인증된다.

 

 

구글링을 하다보면 jdk 들을 profile~,etc 등등 설정하는 방법이 다 다르지만 /etc/environment 에 설정하면된다.

 

jdk path 경로 설정 위치

 

 

 

여러가지 방법의 파일을 읽는순서 설정방법을 실습해보았습니다.

 

좀 복잡하긴 하지만 파일실행이 어떤식으로 동작하는지 알 수 있어 꼭 실습하기를 권합니다.

 

출처 : 리눅스 프로필과 환경변수를 설정하는 방법 (tistory.com)

728x90
반응형