### 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 : 파일 소유자의 권한으로 실행
# 기존 권한에 실행권한이 없으면 대문자 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 : 해당 파일이 실행되는 동안에는 파일 소유 그룹의 권한으로 실행
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] # 해제시에는 + 대신 -
> 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] # 해제시에는 + 대신 -
-r--r--r-- 1 user1 user1 223 7월 10 17:41 test.txt
정답 : 4번
정답 : 3번
정답 : 2번
정답 : 3번
정답 : 4번
rwxr-xr-x
정답 : 755
정답 : SetUID : 그 해당 파일을 실행하면 그 파일이 실행되는 동안에는 소유자의 권한으로 실행된다.
정답 : /bin/passwd, /bin/su, /bin/sudo