리눅스는 파일 시스템 내부에서는 개별 파일과 디렉토리마다 권한을 갖고 있습니다.
이 권한은 보안 측면에서 아주 중요한 역할을 합니다.
사용자들이 해당 파일에 접근할 수 있는 권한도 있고 그 파일을 새로 쓰거나, 아니면 읽거나, 실행할 수 있는 권한도 나눌 수 있습니다.
이러한 권한 부여는 Setuid와 sticky bit 설정을 통해 수행합니다.
또한 위의 sticky bit는 보안 취약점을 발생시킬 수도 있는 민감한 권한입니다. 따라서 잘 확인하고 사용해야 합니다.
오늘은 Setuid와 sticky bit에 대해 자세히 알아보고, 사용법과 설정 방법을 살펴보겠습니다.

Setuid란?
Setuid(Set User ID) 사용자가 실행할 수 있는 파일에 설정하는 권한 비트입니다.
이 비트가 설정된 실행 파일은 일반 사용자가 실행해도 해당 파일을 소유한 사용자의 권한으로 실행됩니다
예를 들어, root 사용자가 실행 파일에 Setuid를 설정하면, 일반 사용자도 해당 파일을 실행할 때 root 권한으로 실행할 수 있습니다.
Setuid는 특정 프로그램이 특정한 권한이 필요한 작업을 수행해야 할 때 유용하게 사용됩니다
Setuid 사용법
Setuid를 설정하기 위한 명령어로는 대표적으로 chmod 명령어가 있습니다. change mode의 약자입니다.
이 chmod 명령어는 대상 파일의 권한을 변경할 수 있으며 Setuid를 설정하기 위해 사용하는 옵션은 's'입니다.
해당 파일에 대해 Setuid를 설정하려면 그 파일의 소유자여야 합니다.
Setuid 명령어
Setuid를 설정하는 명령어는 "chmod u+s [파일명]"입니다.
반드시 이 파일의 소유자가 이 명령을 실행해야 합니다. 그래야 권한이 있어서 편집이 가능합니다.
아래는 사용자들의 비밀번호를 관리하는 "passwd" 파일의 권한을 변경한다는 가정 예제입니다.
chmod u+s /usr/bin/passwd
위 명령어를 실행하면, /usr/bin/passwd 파일을 소유한 사용자인 root로서 passwd 명령을 실행할 때 항상 root 권한으로 실행됩니다.

특정 그룹에 사용자를 추가하는 방법
리눅스에서는 usermod 명령어를 사용하여 사용자를 그룹에 추가할 수 있습니다.
usermod 명령어는 사용자 계정의 속성을 수정하는 데 사용되며, -aG 옵션을 사용하여 사용자를 그룹에 추가할 수 있습니다.
아래는 usermod 명령어를 통해 특정 사용자를 특정 그룹에 추가하는 예제입니다.
usermod -aG company wonseok
위 명령어를 사용하면, wonseok 사용자를 company 그룹에 추가할 수 있습니다.
Sticky Bit 비트란?
Sticky Bit는 권한 설정에서 사용되는 권한 비트입니다
Sticky Bit가 설정된 디렉토리는 오직 디렉토리 소유자, 파일 소유자, 또는 root 사용자만 해당 디렉토리 내의 파일을 삭제하거나 이동할 수 있습니다.
일반 사용자는 자신이 소유하지 않은 파일을 해당 디렉토리에서 삭제하거나 이동할 수 없습니다.
주로 공용 디렉토리나 퍼블릭 파일 공유 시스템에서 사용되어 다른 사용자가 파일을 삭제하지 못하도록 보호하는 데 유용합니다.

Sticky Bit 설정 방법 예제
Sticky Bit를 설정하기 위해 chmod 명령어를 사용할 수 있습니다.
Sticky Bit를 설정하기 위해 사용하는 옵션은 't'입니다.
Sticky Bit를 설정하려면 디렉토리가 소유한 사용자 또는 root 권한이 필요합니다.
아래는 대표적인 사용 예제입니다.
chmod +t /shared 명령어
위와 같이 실행하여 /shared 디렉토리에 Sticky Bit를 설정할 수 있습니다.
이렇게 해서 Setuid와 sticky bit에 대해 알아보았습니다
이러한 권한 설정은 파일과 디렉토리 보안을 강화하고, 특정 작업을 수행해야 하는 프로그램의 실행 권한을 관리하는 데 도움이 됩니다.
하지만 권한 설정은 신중하게 사용해야 하며, 사용자와 시스템의 보안을 유지하기 위해 정기적인 감사와 유지 관리가 필요합니다.
리눅스는 파일 시스템 내부에서는 개별 파일과 디렉토리마다 권한을 갖고 있습니다.
이 권한은 보안 측면에서 아주 중요한 역할을 합니다.
사용자들이 해당 파일에 접근할 수 있는 권한도 있고 그 파일을 새로 쓰거나, 아니면 읽거나, 실행할 수 있는 권한도 나눌 수 있습니다.
이러한 권한 부여는 Setuid와 sticky bit 설정을 통해 수행합니다.
또한 위의 sticky bit는 보안 취약점을 발생시킬 수도 있는 민감한 권한입니다. 따라서 잘 확인하고 사용해야 합니다.
오늘은 Setuid와 sticky bit에 대해 자세히 알아보고, 사용법과 설정 방법을 살펴보겠습니다.

Setuid란?
Setuid(Set User ID) 사용자가 실행할 수 있는 파일에 설정하는 권한 비트입니다.
이 비트가 설정된 실행 파일은 일반 사용자가 실행해도 해당 파일을 소유한 사용자의 권한으로 실행됩니다
예를 들어, root 사용자가 실행 파일에 Setuid를 설정하면, 일반 사용자도 해당 파일을 실행할 때 root 권한으로 실행할 수 있습니다.
Setuid는 특정 프로그램이 특정한 권한이 필요한 작업을 수행해야 할 때 유용하게 사용됩니다
Setuid 사용법
Setuid를 설정하기 위한 명령어로는 대표적으로 chmod 명령어가 있습니다. change mode의 약자입니다.
이 chmod 명령어는 대상 파일의 권한을 변경할 수 있으며 Setuid를 설정하기 위해 사용하는 옵션은 's'입니다.
해당 파일에 대해 Setuid를 설정하려면 그 파일의 소유자여야 합니다.
Setuid 명령어
Setuid를 설정하는 명령어는 "chmod u+s [파일명]"입니다.
반드시 이 파일의 소유자가 이 명령을 실행해야 합니다. 그래야 권한이 있어서 편집이 가능합니다.
아래는 사용자들의 비밀번호를 관리하는 "passwd" 파일의 권한을 변경한다는 가정 예제입니다.
chmod u+s /usr/bin/passwd
위 명령어를 실행하면, /usr/bin/passwd 파일을 소유한 사용자인 root로서 passwd 명령을 실행할 때 항상 root 권한으로 실행됩니다.

특정 그룹에 사용자를 추가하는 방법
리눅스에서는 usermod 명령어를 사용하여 사용자를 그룹에 추가할 수 있습니다.
usermod 명령어는 사용자 계정의 속성을 수정하는 데 사용되며, -aG 옵션을 사용하여 사용자를 그룹에 추가할 수 있습니다.
아래는 usermod 명령어를 통해 특정 사용자를 특정 그룹에 추가하는 예제입니다.
usermod -aG company wonseok
위 명령어를 사용하면, wonseok 사용자를 company 그룹에 추가할 수 있습니다.
Sticky Bit 비트란?
Sticky Bit는 권한 설정에서 사용되는 권한 비트입니다
Sticky Bit가 설정된 디렉토리는 오직 디렉토리 소유자, 파일 소유자, 또는 root 사용자만 해당 디렉토리 내의 파일을 삭제하거나 이동할 수 있습니다.
일반 사용자는 자신이 소유하지 않은 파일을 해당 디렉토리에서 삭제하거나 이동할 수 없습니다.
주로 공용 디렉토리나 퍼블릭 파일 공유 시스템에서 사용되어 다른 사용자가 파일을 삭제하지 못하도록 보호하는 데 유용합니다.

Sticky Bit 설정 방법 예제
Sticky Bit를 설정하기 위해 chmod 명령어를 사용할 수 있습니다.
Sticky Bit를 설정하기 위해 사용하는 옵션은 't'입니다.
Sticky Bit를 설정하려면 디렉토리가 소유한 사용자 또는 root 권한이 필요합니다.
아래는 대표적인 사용 예제입니다.
chmod +t /shared 명령어
위와 같이 실행하여 /shared 디렉토리에 Sticky Bit를 설정할 수 있습니다.
이렇게 해서 Setuid와 sticky bit에 대해 알아보았습니다
이러한 권한 설정은 파일과 디렉토리 보안을 강화하고, 특정 작업을 수행해야 하는 프로그램의 실행 권한을 관리하는 데 도움이 됩니다.
하지만 권한 설정은 신중하게 사용해야 하며, 사용자와 시스템의 보안을 유지하기 위해 정기적인 감사와 유지 관리가 필요합니다.