Linux Command Summary 5

IkSun·2023년 4월 18일

리눅스실습

목록 보기
14/14

5_파일 접근 권한 관리

chmod & umask

### chmod : 파일이나 디렉토리의 접근 권한을 변경한다.

chmod  u/g/o/a +-= rwx	file.a		# 사용자 읽기,쓰기,실행의 허가,제거,지정
chmod  u+rw				file.a		# file.a의 소유자모드의 읽기,쓰기권한 부여
chmod  g-rw				file.a		# 그룹사용자의 읽기,쓰기권한 제거
chmod  go+w				file.a		# 그룹과 기타 사용자에게 쓰기권한 부여

chmod  +rw			file.a			# all 에 대하여 적용. 
									# :: Umask에 영향을 받음
chmod  -R	o=rwx	dir.a			# 하위디렉토리 모두 적용
chmod  000			file.a			# 모든 사용자에 모든 권한 제거
chmod  777			file.a			# numeric method , rwxrwxrwx 
chmod  644			file.a 			# rw-r--r-- 권한부여
chmod  644			dir.a			# rw-r--r-- 권한 부여
chmod  +100			file.a			# 파일소유자에게 실행권한 부여
chmod  -R  455		dir.a			# dir.a의 하위 디렉터리까지 모두 455로변경
chmod  -x			file.a  		# 실행 권한 제거
chmod  -c			file.a  		# 파일의 권한 변경 내용 출력
chmod  –version						# chmod의 버전 정보 출력
chmod  –help						# chmod 명령어의 도움말 출력

# 파일의 기본 접근 권한 664
# -rw-rw-r--
# 디렉토리의 기본 접근 권한 775
# drwxrwxr-x
# 파일의 최대 권한 666
# -rw-rw-rw- 
# 디렉토리에게 주는 최대 권한 777
# -rwxrwxrwx 

### umask : 기본 접근 권한을 출력하거나 변경한다.

umask					# 현재 설정된 umask 출력
umask 055				# umask 값을 055로 설정
umask -S            	# 마스크값을 문자로 출력
umask -p		 		# 현재 umask 값과 함께, 기본값과 비교하여 실제 권한을 출력한다.
umask -S <mode> 		# 지정한 모드에 대해 symbolic 표기법으로 umask 값을 출력한다. 

SetUID : 4***

> SetUID : 파일 소유자의 권한으로 실행
	# 기존 권한에 실행권한이 없으면 대문자 S, 있으면 소문자 s로 표시. SetGID도 동일
	# == 실행 파일에 setuid를 설정하면 소문자 ‘s’가 되고 정상적으로 실행할 수 있지만, 
	# 실행 파일이 아닌데 setuid를 설정하면 대문자 ‘S’가 되고 실행할 수 없다.
         
	ls -l /usr/bin/  |  grep rws
    
		# -rwsr-xr-x 1 root root       59976 Nov 24 21:05 passwd
		# -rwsr-xr-x 1 root root       72072 Nov 24 21:05 gpasswd
		# -rwsr-xr-x 1 root root       44808 Nov 24 21:05 chsh

	chmod 4755 /bin/passwd	(여기서 755는 기존 권한 숫자)		# SetUID 설정
	chmod u+s [path]									# 해제시에는 + 대신 -

SetGID : 2***

> SetGID : 해당 파일이 실행되는 동안에는 파일 소유 그룹의 권한으로 실행
	ls -l /usr/bin/  |  grep r-s
    
		# -rwxr-sr-x 1 root shadow     72184 Nov 24 21:05 chage
		# -rwxr-sr-x 1 root crontab     39568 Mar 23  2022 crontab
		# -rwxr-sr-x 1 root tty             22904 Feb 21  2022 wall


	chmod 2755 /usr/bin/crontab (여기서 755는 기존 권한 숫자)		# SetGID 설정
	chmod g+s [path]									# 해제시에는 + 대신 -

스티키 비트 : 1***

> Sticky bit : 스티키 비트는 디렉토리에 설정, 
디렉토리에 스티기 비트가 설정되어 있으면 이 디렉토리에는 누구나 파일을 생성 가능.

	# 누구나 자신이 만든 파일에 대해서 rwx 권한부여여

	ls -l /  | grep tmp			// drwxrwxrwt	t→ file의 소유자만 삭제가능
    
		# drwxrwxrwt  14 root root  4096 Apr 13 04:52 tmp


# 위의 예시처럼 스티키 비트가 설정되면 기타 사용자의 권한에 소문자 ‘t’가 표시된다. 
# 디렉터리에 실행권한이 없는데, 스티키 비트를 설정하면 대문자 ‘T’가 표시된다.
# drw-r–r-T user1 user1 4096 Apr 13 04:52 tmp


	chmod 1777 /tmp2(여기서 777는 기존 권한 숫자)		# /tmp2 dir에 스티키 비트 설정
	chmod o+t [path]							# 해제시에는 + 대신 -

과제

1. text.txt 파일의 현재 접근 권한이 다음과 같다. 여기서 사용자와 그룹에 실행 권한을 부여하기 위한 명령으로 맞지 않은 것은 무엇인가?

-r--r--r-- 1 user1 user1 223 7월 10 17:41 test.txt
  1. chmod u+x,g+x test.txt
  2. chmod 554 test.txt
  3. chmod ug+x test.txt
  4. chmod 664 test.txt

정답 : 4번

2. text.txt 파일의 접근 권한을 소유자는 읽을 수만 있고, 그룹과 기타 사용자에게는 아무 권한도 주지 않으려 한다. 이를 숫자 모드로 바르게 수행한 것은 무엇인가?

  1. chmod 700 test.txt
  2. chmod 500 test.txt
  3. chmod 400 test.txt
  4. chmod 100 test.txt

정답 : 3번

3. 현재 umask 값이 022다. 이 상태에서 a.txt 파일과 linux 디렉터리를 생성했다. 이들의 접근 권한은 어떻게 생성되는가?

  1. 파일: 622, 디렉터리: 755
  2. 파일: 644, 디렉터리: 755
  3. 파일: 422, 디렉터리: 744
  4. 파일: 444, 디렉터리: 722

정답 : 2번

4. 리눅스는 사용자를 세 카테고리로 구분한다. 이 카테고리에 해당하지 않는 것은 무엇인가?

  1. 소유자
  2. 그룹
  3. 관리자
  4. 기타 사용자

정답 : 3번

5. 다음 중 파일의 속성은 어떤 명령으로 확인할 수 있는가?

  1. ls
  2. ls -a
  3. ls -i
  4. ls -l

정답 : 4번

6. 다음 접근 권한을 숫자로 표기하시오.

rwxr-xr-x

정답 : 755

7. 파일의 접근 권한을 확인했더니 ‘rwsr-xr-x'이었다. s가 의미하는 것은 무엇인가?

정답 : SetUID : 그 해당 파일을 실행하면 그 파일이 실행되는 동안에는 소유자의 권한으로 실행된다.

8. /bin 디렉터리에서 SetUID가 설정된 명령의 예를 세 개만 제시하시오.

정답 : /bin/passwd, /bin/su, /bin/sudo

profile
공부한 것 기록용

0개의 댓글