현재 사용자를 변경하지 않고 슈퍼유저 권한을 얻으려면 어떻게 해야 합니까?

현재 사용자를 변경하지 않고 슈퍼유저 권한을 얻으려면 어떻게 해야 합니까?

도트 파일과 기타 구성 파일(특히 /etc 디렉터리)을 git 저장소에 보관하고 싶습니다. 하지만 /etc 디렉터리에 쓰기 위해서는 git을 루트로 실행해야 합니다. 이는 허용할 수 없는 결과를 초래합니다. git이 다루는 소유자와 파일 그룹이 root:root로 변경됩니다. Git은 또한 저장소의 일부 파일(예: index)의 소유자를 변경하므로 다음번에는 일반 사용자로 실행할 수 없습니다.

높은 권한으로 명령을 실행할 수 있지만 현재 사용자(루트 대신)를 명령을 실행하는 사용자로 유지할 수 있습니까?

답변1

이 문제를 처리하는 일반적인 방법은 정확히 원하는 대로 수행되지 않습니다. a를 사용하여 /etc의 구성 파일을 관리합니다.구성 관리다음과 같은 도구안시푸르.

예를 들어 Ansible을 사용하면 모든 플레이북을 git에 저장하고 해당 구성에서 컴퓨터 전체에 구성을 배포할 수 있습니다. 파일 관리는 루트로 실행되지만 일반 사용자로 실행이 시작됩니다.

/etc(및 OS의 다른 곳)에서 파일을 관리하는 이 방법은 반복성이 더 높다는 추가 이점이 있습니다(예: 호스트를 다시 설치할 수 있으며 항상 동일하게 보입니다). 또한 설치된 패키지, 실행 중인 서비스 및 기타 운영 체제 관련 관리도 관리할 수 있습니다.

관련 정보