루트 권한과 관련된 몇 가지 사항에 대한 이해를 확인하고 싶었습니다. 다음 진술이 정확합니까?
- 사용자 이름 "administrator"는 묵시적인 권한이 있는 예약된 이름이 아닌가요? 실수로 고유한 보안을 침해하지 않고 사용할 수 있는 사용자 이름인가요?
- 터미널에서 SU 명령을 사용하는 효과는 해당 터미널 세션 내의 활동으로 제한됩니다. 예를 들어, 해당 터미널 세션에서 루트가 되더라도 응용 프로그램 메뉴에서 시작된 동시 응용 프로그램의 암호 요청을 우회하지 않거나 동시에 다른 터미널 세션을 열 경우 루트 권한이 부여되지 않습니다.
또한 현재 루트 권한이 있는지 여부를 알려주는 명령은 무엇입니까?
답변1
"관리자"라는 이름은 Windows 세계에서 유래되었습니다. Unix 세계에서 "시스템 관리자"는 업무 설명이지만 "관리자"는 계정에 대해 특별한 의미를 갖지 않습니다.
Windows와 달리 Unix 계정에는 본질적으로 권한 개념이 없습니다. 계정 내의 권한은 액세스할 수 있는 파일, 실행할 수 있는 setuid 명령, 사용이 허용된 sudo 규칙, 적용 가능한 SELinux 정책 등에 의해 부여됩니다. 이는 사용자에게 직접 부여되거나 사용자가 속한 그룹에 부여될 수 있습니다.
한 가지 예외가 있습니다. 사용자 ID 0의 계정은 많은 추가 권한(기본적으로 거의 모든 작업을 수행할 수 있는 권한)을 얻습니다. 이 계정은 일반적으로 호출됩니다 root
(커널에 관한 한 커널은 사용자 이름을 모르기 때문에 다른 이름을 사용할 수 있지만 이로 인해 많은 관리 관련 소프트웨어가 손상될 수 있습니다).
루트 계정은 일반 작업 중에 사용자가 로그인하는 데 적합하지 않습니다. 이것은 시스템 계정입니다. 관리자는 루트로 명령을 실행하여 시스템 구성 작업을 수행하고 다른 작업은 수행하지 않습니다. 관리자는 때때로 시스템 설치나 수리를 수행하기 위해 루트로 로그인할 수 있지만, 웹 검색이나 이메일과 같은 시스템과 관련되지 않은 작업을 수행하는 데는 루트 계정을 사용하지 않고 자신의 개인 계정을 사용합니다.
일반인의 관점에서 관리자 계정은 루트로 명령을 실행할 수 있는 사용자의 계정입니다. 일반적으로 이 작업은 다음과 같이 수행됩니다.스도, sudo 구성에 의해 권한이 부여된 경우 사용자가 다른 사용자(루트 포함)로 명령을 실행할 수 있도록 하는 프로그램입니다.
권한은 프로세스와 연관되어 있으며 해당 하위 프로세스에 상속됩니다. 상승된 권한(예: su
~을 통해 sudo
)으로 프로세스를 실행하면 해당 프로세스와 시작되는 프로세스만 상승된 권한을 갖습니다. 나머지 세션은 영향을 받지 않습니다.
답변2
사용자 이름 "administrator"는 묵시적인 권한이 있는 예약된 이름이 아닌가요? 실수로 고유한 보안을 침해하지 않고 사용할 수 있는 사용자 이름인가요?
사용자 ID 번호 0으로 루트 권한을 얻을 수 있습니다. "관리자" 사용자의 ID 번호가 다를 경우 일반 사용자입니다.
터미널에서 SU 명령을 사용하는 효과는 해당 터미널 세션 내의 활동으로 제한됩니다.
효과는 생성된 쉘 su
(또는 이 옵션과 함께 실행되는 모든 명령 )에 적용됩니다. -c
그리고 해당 셸/명령의 하위 프로세스는 해당 권한을 유지합니다(명시적으로 제거하지 않는 한).
또한 현재 루트 권한이 있는지 여부를 알려주는 명령은 무엇입니까?
id
이를 통해 실행 중인 사용자/그룹과 사용자/그룹 ID 번호를 알 수 있습니다. 사용자의 ID 번호가 0이면 루트 권한을 갖습니다.