특수권한
일반적인 권한과는 조금 다른 특수한 권한
종류는 다음과 같이 3가지가 있다.
SetUID
- 나머지 사용자가 파일을 실행할 때 소유자의 권한으로 접근할 수 있게 해주는 권한
- root admin rws rwx rwx
- ls -l 명령어를 이용해서 확인했을 때 특수권한이 부여된 파일은 소유자의 권한 부분 중 실행 권한 부분이 x가 아닌 s로 나타난다.
- chmod 4xxx [파일 이름] 또는 chmod u+s [파일 이름] 명령어로 설정할 수 있다.
SetGID
- 나머지 사용자가 파일을 실행할 때 관리 그룹의 권한으로 접근할 수 있게 해주는 권한
- ls -l 명령어를 이용해서 확인했을 때 특수권한이 부여된 파일은 관리 그룹의 권한 부분 중 실행 권한 부분이 x가 아닌 s로 나타난다.
- chmod 2xxx [파일 이름] 또는 chmod g+s [파일 이름] 명령어로 설정할 수 있다.
StickyBit
- 디렉터리에 부여하는 권한, 디렉터리를 마치 자유게시판처럼 사용할 수 있게 해주는 권한 일반적으로 /tmp 디렉터리에 부여
- ls -l 명령어를 이용해서 확인했을 때 특수권한이 부여된 파일은 나머지 사용자의 권한 부분 중 실행 권한 부분이 x가 아닌 t로 나타난다.
- chmod 1xxx [파일 이름] 또는 chmod o+t [파일 이름] 명령어로 설정할 수 있다.
- StickyBit는 디렉터리에 부여한다.
- 대표적인 예로 /tmp
- StickyBit가 부여된 디렉터리 내에서는 누구나 자신의 파일을 생성하거나 수정, 삭제가 가능하다.
- 하지만 다른 사용자의 파일을 수정하거나 삭제할 수는 없다.(관리자는 가능)
- 해당 디렉터리는 마치 인터넷 자유게시판처럼 사용된다.
쉘이란
- 터미널에 입력한 명령을 해석하고 관리하는 프로그램을 쉘이라고 한다.
- 쉘은 사용자 커널 사이에 연결시켜주는 역할을 하며 사용자가 입력한 명령을 해석하여 운영체제가 해당 명령을 알아들을 수 있게 해 준다.
- 쉘은 여러 가지 종류가 있으며 가장 많이 사용되는 쉘은 Bash쉘이다.
경로 이름 메타 문자
- ~ : 현재 로그인 한 사용자의 홈 디렉터리 (사용자 정보를 저장하고 있는 /etc/passwd 파일의 6번째에 설정된 디렉터리)
- - : 이전 작업 디렉터리 (CentOS의 Bash 쉘 기준 바로 이 전의 디렉터리만 기억)
파일 이름 메타 문자
- * : 하나 이상의 문자를 대체하는 문자, 일반적으로 전체를 의미 (특정 디렉터리 내의 모든 파일을 지정할 때 또는 특정 이름으로 시작할 때 등의 여러 가지로 활용)
- ex) rm -rf ./* , rm -rt test*
- ? : 하나의 문자만 대체
인용부호 메타 문자
- `` : `` 안에 있는 문자를 명령어로 인식하여 실행되게 한다.
- '' : 작은따옴표 안에 있는 메타 문자를 일반문자로 취급한다.
- "" : 큰 따옴표 안에 있는 $, \\, ` 문자를 제외한 나머지 문자만 일반문자로 취급
- $는 리눅스 쉘에서 변수를 사용할 때 사용하는 문자
방향 재지정 메타문자
< : 표준 입력 재지정
> : 표준 출력 및 표준 에러를 재지정, 일반적으로 명령어의 출력을 파일로 저장 또는 네트워크로 전송
- 파일에 저장할 때 : echo “test” > ./file
- 정상적인 결과만 출력할 때 : find / -perm -4000 2 > /dev/null
- 에러 결과만 출력할 때 : find / -perm -4000 1 > /dev/null
- 정상적인 결과는 파일에 저장, 에러는 출력 X : find / -perm -4000 1 > ./setuid_file 2 > /dev/null
- >를 한 번만 사용하면 파일의 내용을 덮어씀, >> 을 사용하면 기존의 파일의 내용에 이어서 씀
|: 파이프 문자, [명령어1] | [명령어 2]처럼 사용하며, 명령어 1의 결과를 명령어 2의 입력으로 사용
- ex) ls /etc | grep rc ls 명령어의 결과에서 특정 문자를 포함한 라인만 뽑아 볼 때
- ls /etc 결과 중에서 yum이 포함된 내용만 출력할 때
- ls /etc | grep yum
- ls /etc 결과가 너무 길어서 화면에 다 안 나와 끊어서 보고 싶을 때
- ls /etc | more
사용자 초기화 파일
- /etc/profile : 시스템 전역에 걸쳐 환경을 설정하는 파일, 모든 사용자가 적용되는 파일
- ~/ .profile : 개별 사용자의 홈 디렉터리에 있는 파일, 해당 사용자의 설정을 변경할 때 사용
- ~/ .bashrc : 개별 사용자의 홈 디렉터리에 있는 파일, 해당 사용자의 쉘 관련 설정을 변경할 때 사용
- 환경 변수, 쉘 프롬프트 모양(명령어 앞에 붙는 내용), 별명 기능(alias), 쉘 옵션 정의 등 설정 가능
환경 변수
- 시스템 환경에 대한 설정을 저장하고 있는 변수
- HOME : 사용자의 홈 디렉터리
- PATH : 실행파일을 찾는 경로
- LANG : 프로그램 사용 시 기본 지원되는 언어
- SHELL : 로그인해서 사용하는 쉘
- EDITOR : 기본 편집기의 이름
- PS1 : 명령 프롬프트 변수
'개발 > Linux' 카테고리의 다른 글
사용자 관리 관련 파일, 사용자 및 그룹 관리 명령어 (0) | 2022.08.01 |
---|---|
프로세스, 아카이브(tar), 압축 (0) | 2022.07.29 |
링크, 권한 명령어 (0) | 2022.07.27 |
grep, fgrep, find 명령어 (0) | 2022.07.26 |
리눅스 파일 관련 명령어, vi 명령어 (0) | 2022.07.22 |