루트에서 일반 사용자로 액세스 전송

루트에서 일반 사용자로 액세스 전송

내 사용자 이름을 사용하여 Ubuntu에 로그인합니다 student.

root예를 들어, 사용자 만 액세스할 수 있는 일부 디렉토리가 있습니다 /var/lib/mysql. (이 디렉토리에 액세스하는 데 사용할 수 있다는 것을 알고 있지만 sudo이는 내가 원하는 것이 아닙니다.) 이 계정에 대해 이러한 디렉터리에 액세스하려면 student다음 명령을 사용할 수 있습니다.

chown student: PATH_TO_ROOT_USER_PRIVILEGED_DIR

그러면 내 계정을 사용하여 디렉터리에 액세스할 수 있나요? 내가 맞나요?

  • 내 말이 맞다면 rootuser 로 변경하면 사용자가 액세스 권한을 잃게 되나요 student?

  • 제가 틀렸다면 올바른 해결책을 알려주세요.

답변1

어떤 이유로 이 디렉토리는 루트만 액세스할 수 있습니다. 이 소유권을 수정하는 것은 일반적으로 좋지 않은 생각이며 상당한 보안 위험을 초래합니다.

또한 소유권을 수정하는 대신 디렉터리의 권한을 수정하는 것을 고려할 수도 있습니다. 사용자가 +x디렉토리를 실행( )할 수 있는 권한이 있으면 해당 디렉토리에 접근할 수 있습니다. Unix 파일 권한이 처음이라면 튜토리얼을 읽어 보시기 바랍니다. (빠른 구글 검색으로 알아냈어요.이 무작위 튜토리얼).

다른 것들:

  • root어떠한 특권도 잃지 마십시오. root무엇이든 할 수 있습니다.
  • .rootchown

올바른 솔루션

간단하지만 이것이 sudo갈 길입니다. 우분투 개발자들은 자신들이 무엇을 하고 있는지 알고 있습니다. 이 sudo유틸리티는 권한 상승을 쉽고 안전하게 만들도록 설계되었습니다. 이것을 변경해야 할 이유가 전혀 없습니다.

답변2

당신은해야안 돼요루트가 소유한 파일의 소유권을 변경합니다(또는 적어도 거의 변경하지 않습니다). 대신 sudo액세스 루트를 사용해야 합니다 . root소유 여부에 관계없이 컴퓨터에 있는 모든 파일에 항상 액세스할 수 있습니다. 디렉터리를 자신의 소유권으로 변경하면 GNU/Linux 보안 모델이 손상됩니다.

답변3

그것은 모두 디렉토리에 설정된 권한과 디렉토리에서 권한을 얻기 위해 ls -l수행 할 수 있는 작업에 따라 다릅니다 ./var/lib//var/lib/mysql

당신은 읽을 수있다여기Linux의 권한 비트 정보.

그러나 귀하의 질문과 관련하여 디렉터리의 권한 비트가 올바르게 설정되면(기본적으로 설정되어야 함) 사용자는 student자신의 디렉터리에 액세스할 수 있으며 사용자는 root해당 디렉터리에 대한 액세스 권한을 잃지 않습니다. 모든 하위 디렉터리의 소유권을 변경하려면 sudo이 명령을 사용하고 실행해야 합니다 .-R

관련 정보