![Linux에서 사용자 gid=0이지만 uid≠0인 경우 실행할 수 없는 작업/명령](https://linux55.com/image/32460/Linux%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%EC%9E%90%20gid%3D0%EC%9D%B4%EC%A7%80%EB%A7%8C%20uid%E2%89%A00%EC%9D%B8%20%EA%B2%BD%EC%9A%B0%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EC%9E%91%EC%97%85%2F%EB%AA%85%EB%A0%B9.png)
Linux 서버에는 gid=0인 사용자가 있지만 uid는 0이 아닙니다. 그룹에 대해 root:root 및 실행 권한이 있는 명령이 많기 때문에 많은 프로그램이 시작 시 UID=0을 확인하므로 이 사용자가 그렇게 하지 않고도 많은 관리 작업을 수행할 수 있다는 것을 알고 있습니다.
UID!=0 및 GUID=0인 사용자에게 어떤 명령/작업이 작동하지 않는지 아는 사람이 있나요? 이 사용자가 파일 시스템을 마운트하거나 비밀번호를 변경할 수 있습니까?
예를 들어, 루트 소유자에 대한 읽기 권한만 있기 때문에 사용자는 메시지를 읽을 수 없습니다. 나는 이 질문이 열려 있다는 것을 알고 있습니다.
매우 감사합니다!
답변1
이는 시스템 구성에 따라 크게 달라집니다. 응용 프로그램에 root:root 0770과 같은 권한이 있는 경우 루트 그룹이 있는 사용자는 응용 프로그램을 실행할 수 있습니다. root:root 0700과 같은 권한이 있으면 그럴 수 없습니다. 이런 종류의 항목에 대한 실제 표준은 없으며 간단한 chmod(또는 chown) 명령으로 이를 변경할 수 있습니다.
suid 비트가 설정되지 않은 경우 문제의 프로그램은 이를 시작한 사용자의 권한으로 실행됩니다(예를 들어 이 경우 루트가 아닌 사용자이지만 루트 그룹을 사용하여).
루트가 아닌 사용자는 루트 그룹 보유 여부에 관계없이 파일 시스템 권한을 우회하거나 파일 소유권을 다른 사용자에게 변경하는 등의 작업을 절대 수행할 수 없습니다. 또한 fstab에 없는 파일 시스템을 마운트할 수 없습니다.