[Linux] SUID, SGID 에 대하여

* SUID(Set User-ID) : 정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을 얻게 됨.

* SGID(Set Group-ID) : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨.

만일 필요하지 않은 설정 파일에 SUID, SGID가 설정되어 있으면

특정 명령어를 실행 -> root 권한 획득 -> 서비스 장애를 일으킬 가능성이 있음.


        <<일반적으로 SUID, SGID가 설정되면 안되는 파일들 목록>>

<LINUX>

/sbin/dump : Backup/restore용.


/sbin/restore : Backup/restore용.


/sbin/unix_chkpwd : 사용자의 암호가 읽을 수 없는 장소에 보관되는 경우 사용자의 암호를 검사해주는 프로그램. (이 프로그램을 호출한 사용자의 암호를 검색해주는 역할만 함.)


/usr/bin/at (SUID): 지정된 시간에 실행할 작업을 입력하고, 대기 목록을 확인/제거하는 명령어.
cron과 같이 반복적인 작업을 하고자 할 때 사용되나, cron에 비해 보안 결함이 있고 잘 사용되지 않으므로 필요없다.


/usr/bin/lpq : 라인프린터 작업 큐 조회 명령어

/usr/bin/lpg-lpd : Daemon


/usr/bin/lpr : 라인프린터 작업 큐 조회 명령어. console 환경에서 명시된 파일을 인쇄할 때 사용

/usr/bin/lpr-lpd : Daemon


/usr/bin/lprm : lpq 명령어로 볼 수 있는 작업 큐를 살펴보고 해당하는 작업을 취소하거나 작업 번호를 지정하여 작업 번호에 해당하는 큐를 삭제함

/usr/bin/lprm-lpd : Daemon


/usr/bin/newgrp : 현재 세션의 사용자 그룹 변경 (지정한 그룹의 쉘로 환경이 변경됨)


/usr/sbin/lpc : Command 기반의 프린터 제어


/usr/sbin/lpc-lpd : Daemon


/usr/sbin/traceroute : 네트워크 경로를 추적하는 명령어.


<AIX>

/usr/dt/bin/dtaction : 지정된 인수로 CDE 작업을 호출


/usr/sbin/mount : 파일 시스템을 지정된 위치에서 사용 가능하도록 연결


/usr/dt/bin/dtterm : 데스크탑 기본 터미널 에뮬레이터


/usr/sbin/lchangelv : 논리적 볼륨과 연관되는 명령어


/usr/bin/X11/xlock : X 터미널을 잠그기 위한 프로그램


<SunOS>

/usr/bin/admintool : System Administration Tools


/usr/bin/at : 지정된 시간에 실행할 작업을 입력하고, 대기 목록을 확인하고, 제거하는 명령어


/usr/bin/atq : Daemons / 현재 대기 중인 작업 목록 확인

/usr/bin/atrm : Daemons / 현재 대기 중인 작업 제거


/usr/bin/lpset : 프린터와 관련된 장치, 디렉토리를 접근하는 명령어로 EGID를 변경


/usr/bin/newgrp : 현재 세션의 사용자 그룹 변경, 새로운 그룹으로 로그인하는 명령어.

(지정한 그룹의 쉘로 환경이 바로 변경)

(잘 사용되지 않으므로 그닥 필요없음.)


/usr/bin/nispasswd


/usr/bin/rdist : 원격 서버로 동기화, 복사, 백업 수행


/usr/bin/yppasswd


/usr/dt/bin/dtappgather : 사용자 세션을 시작하는 것과 연관된 명령어로 사용 가능한 응용 프로그램 모으는 명령어


/usr/dt/bin/dtprintinfo : 데스크탑에 프린터 추가할 때 사용하는 명령어


/usr/dt/bin/sdtcm_convert : 캘린더 도구로서 데이터 형식을 변환하거나 캘린더의 불필요한 부분을 제거하는데 사용


/usr/lib/fs/ufs/ufsdump : Backup/restore


/usr/lib/lp/bin/netpr : lpsched 데몬, LP 프린트 서비스와 PostScript 필터들에 의해 사용되는 바이너리 파일들, 기본 프린터 인터페이스 프로그램들과 연관


/usr/openwin/bin/ff.core


/usr/openwin/bin/kcmc_calibrate : /tmp 디렉토리에 kp_kcms_sys.sem 이라는 임시 파일을 /tmp에 존재하는지 검사하지 않고 무조건 생성하는 프로그램


/usr/openwin/bin/kcmc_configure


/usr/openwin/bin/xlock : X 터미널을 잠그기 위한 프로그램


/usr/platform/sun4u/sbin/prtdiag : 시스템 하드웨어 사항과 시스템의 하드웨어적 실패 부분 조회


/usr/sbin/arp : 네트워크 관련 명령어


/usr/sbin/lpmove : 다른 프린터와 print request를 이동할 수 있는 명령어

/usr/sbin/sysdef : 유닉스 기반의 시스템에서 정의된 내용을 출력하는 명령어

(혹은 /usr/sbin/sparcv7~9/sysdef)

/usr/sbin/prtconf : 현재 시스템의 메모리 양, 시스템에서 인식한 장치 목록을 장치 트리를 사용해서 보여주는 명령어

(혹은 /usr/sbin/sparcv7~9/prtconf)







<HP-UX>


/opt/perf/bin/glance : 성능 모니터링 툴 (CUI)


/opt/perf/bin/gpm :  성능 모니터링 툴 (GUI)


/opt/video/lbin/camServer


/usr/bin/at : 동일.


/usr/bin/lpalt : 프린터 및 인쇄 요청의 우선 순위 변경


/usr/bin/mediainit : 디스크 포맷 명령어, 읽기/쓰기 테스트를 수행하여 디스크 무결성을 검증하고 손상된 블럭이 발견될 경우 수정


/usr/bin/newgrp : 현재 세션의 사용자 그룹 변경 (지정한 그룹의 쉘로 환경이 바로 변경)


/usr/bin/rdist : 원격 서버로 동기화, 복사, 백업 수행


/usr/dt/bin/dtprintinfo : 데스크탑에 프린터 추가할 때 사용하는 명령어


/usr/sbin/arp : 네트워크 관련 명령어


/usr/sbin/lanadmin : 네트워크 관련 명령어


/usr/sbin/landiag : 네트워크 하드웨어 이상을 진단하는 명령어


/usr/sbin/lpsched : LP 요청 스케줄러의 데이터를 표시


/usr/sbin/swacl : 소프트웨어 생산품 접근 통제 명령어


/usr/sbin/swconfig : 시스템에 설치된 소프트웨어를 configure하는 명령어


/usr/sbin/swinstall : 시스템에 소프트웨어를 설치하거나 업데이트하는 명령어


/usr/sbin/swreg : 특정 서버에 등록하는 명령어


/usr/sbin/swremove : 시스템에 설치되어 있는 소프트웨어를 제거


/usr/contrib/bin/traceroute : 네트워크 경로 출력


/usr/dt/bin/dtappgather : 사용자 세션을 시작하는 것과 연관된 명령어로 사용 가능한 응용 프로그램 모으는 명령어


/usr/sbin/swmodify : 소프트웨어 패키지 내역 변경 명령어


/usr/sbin/swpackage : 소프트웨어 패키지 시 사용하는 명령어


<<참고 사이트>>

https://hec-ker.tistory.com/292#:~:text=%2Fsbin%2Funix_chkpwd,%ED%95%98%EC%A3%BC%EB%8A%94%20%EC%97%AD%ED%95%A0%EB%A7%8C%20%ED%95%A8.

https://it.jjanglab.com/157

Comments