보안/CentOS+Ubuntu

리눅스 su와 su - 명령어의 차이점

lowcodingpython 2023. 4. 27. 02:54
반응형

Linux의 su 명령은 "대체 사용자"를 나타내며 다른 사용자 계정(일반적으로 루트 사용자)으로 전환하는 데 사용됩니다.

이 명령은 일반적으로 사용자가 상승된 권한이 필요한 관리 작업을 수행해야 하는 상황에서 사용됩니다.

su-명령어-사진

username 인수가 제공되지 않으면 명령은 기본적으로 루트 사용자 계정으로 전환됩니다.

전환하려는 계정의 비밀번호를 입력하라는 메시지가 사용자에게 표시됩니다.

성공하면 새 사용자 계정의 상승된 권한으로 명령이 실행됩니다.

 

su 명령에 대한 몇 가지 일반적인 옵션

  • -: 이 옵션은 전환되는 사용자 계정의 전체 로그인을 시뮬레이트하는 데 사용됩니다. 새 사용자가 직접 로그인한 것처럼 환경 변수와 홈 디렉터리를 새 사용자의 것으로 설정합니다.
  • -c: 이 옵션을 사용하면 먼저 로그인할 필요 없이 새 사용자 계정으로 전환한 직후 명령을 실행할 수 있습니다.
  • -s: 이 옵션을 사용하면 사용자가 새 사용자 계정에 사용할 쉘을 지정할 수 있습니다.
su [options] [username]

반면 su-(또는 su -)는 대상 사용자의 계정으로 전환할 뿐만 아니라 환경 변수 및 기본 설정을 채택하는 데 사용됩니다.

이것을 "로그인 쉘"이라고 합니다. - 플래그는 작업 디렉터리 설정 및 쉘 변수 초기화를 포함하여 새 사용자를 위한 환경을 설정하는 일련의 스크립트를 실행하는 로그인 쉘을 실행하도록 su에 지시합니다.

 

su와 su-의 주요 차이점은 현재 사용자의 환경을 대상 사용자의 환경으로 완전히 대체하는 반면 su 명령어는 사용자 ID만 변경하고 원래 사용자의 환경을 유지한다는 것입니다.

이는 원래 사용자 환경을 유지하면서 다른 사용자로 작업을 수행해야 하거나 특정 명령이나 스크립트를 실행하기 위해 대상 사용자의 환경을 완전히 가져가야 할 때 사용합니다.

반응형