[System] sudo와 su의 차이점

[System] sudo와 su의 차이점


Sudo

  • Super Usder Do의 약자(최근에는 Substitute User Do도 쓰임)
  • 유닉스 및 리눅스 계열에서 다른 사용자의 보안 권한과 관련된 프로그램을 구동할 수 있게 도와주는 것
  • etc/sudoers파일에 지정된 사용자만 sudo명령어를 사용 가능
  • 현재 계정에서 다른 계정의 권한만 빌림
  • root가 아닌 사용자가 root에 준하는 능력으로 sudo 다음에 나오는 명령을 실행하게 하는 명령어.
  • 슈퍼유저, 관리자 권한을 가지지만, 근본적으로 해당 사용자가 내리는 명령

sudo 명령어

  • sudo -i : 계정 자체가 관리자로 바뀜(디렉토리가 /root로 옮겨짐)
  • sudo -s : 환경변화 없이 현재 사용자가 관리자 권한을 획득(현재 디렉토리 유지)
    • sudo -s = su 같은 명령어 효과
      • su는 root암호를 알아야 하지만, 
      • sudo -s는 sudoer에서 허가된 사용자라면 본인 암호를 넣고 사용 가능
        • 즉, root로 로그인 한 쉘로 이동 가능
  • sudo -u username <command> : root 계정이 아닌 다른 계정의 권한이 필요한 경우
    • username의 권한으로 <commnad>를 실행 함

Su

  • 로그아웃을 하지 않고 다른 계정으로 전환
    • 사용자는 변경되었지만, 로그인된 사용자 환경으로 쉘을 실행하지 않음
  • su는 root 패스워드가 필요하지만 sudoer에서 사용을 허락한 사용자는 모두 패스워드 관계없이 쓸 수 있음

su 명령어

  • su username : username으로 변경한다
  • su - username : username으로 변경하면서 환경변수까지 변경한다
    • Shell, Home Directory가 다 변경됨

Su -


댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[운영체제] 파일의 구조(순차 파일, 직접 파일, 색인 순차 파일)

[운영체제] MLQ & MFQ