"gogs" 자체 호스팅 Git 서비스를 사용하고 있지만 다음과 같은 보다 활동적인 분기로 변경하고 싶습니다.기테아. 이것설치 참고 사항git
예를 들어 gitea를 위한 사용자를 특별히 생성해야 한다고 가정해 보겠습니다.
adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
현재 특별한 사용자는 없고 Windows에서 gogs를 사용하고 있습니다. 이제 리눅스에서 gitea를 사용하고 싶은데 혼란스럽습니다. 데몬에 대해 전반적으로 이해하지 못해서 그런 것 같습니다.
Windows에서는 서비스를 시작하고 싶을 때 서비스를 실행하면 서비스를 중지할 때까지 터미널 창이나 백그라운드 서비스로 열려 있습니다. Linux에서도 동일한 작업을 수행할 수 있는데 왜 전용 사용자가 필요한가요?
다른 서비스도 동일한 방식을 사용한다고 가정하므로 해당 서비스를 사용하거나 사용하지 않는 전용 사용자가 무엇을 의미하는지 이해해야 합니다.
(이것은 사용자가 로그인하지 않고 서비스를 실행하고 시작하는 것과 관련이 있다고 생각합니다. 하지만 다른 많은 서비스가 이미 실행되고 있으며 전용 사용자가 필요하지 않습니까?)
답변1
귀하의 혼란은 Windows에서 수행 중인 작업을 이해하지 못하기 때문에 발생합니다. Windows에서는 실제로제공하다서비스 제어 관리자에서 실행하면 전용 사용자 계정의 지원을 받아 항상 실행할 수 있습니다. Windows에서 올바른 비권한 서비스는 SCM이 로그인하여 서비스 프로세스를 생성하는 전용 비권한 사용자 계정의 사용자 이름을 사용합니다.
무엇너그에 비해 우리가 하고 있는 일은아니요서비스를 전혀 실행하십시오. 백그라운드 대화형 로그인 세션에서 프로그램을 실행 중입니다. 사용 중인 터미널이 아닙니다.편안.
실제로 서비스 전용 계정을 사용하는 이유는 Windows 운영체제와 Linux 운영체제 모두 동일합니다. 전용 계정의 후원 하에 별도의 프로세스로 서비스를 실행한다는 것은 운영 체제 메커니즘이 사용자를 서로 보호한다는 것을 의미합니다(Windows NT와 Linux는 처음부터 다중 사용자였다는 점을 기억하십시오).반품다음으로부터 서비스 프로세스를 보호하세요.너, 대화형 사용자 및다른 서비스. 그들은 귀하와 다른 서비스도 보호합니다서비스에서.
다중 사용자 메커니즘은 서비스 프로그램에서 사용하는 파일 및 디렉터리에 대한 세분화된 액세스 제어를 허용하고, 악의적인 프로세스가 서비스에 임의 신호를 보내는 것을 방지하고, 서비스 프로세스를 추적하기 위한 디버깅 API 사용을 방지하고, 스레드 주입을 방지하고, 임의 프로세스를 방지합니다. 스레드를 일시 중지하고 재개할 수 없습니다. 이러한 모든 예방 조치는 역으로도 작동합니다. 즉, 서비스가 손상되면 다른 사람에게 이러한 작업을 수행할 수 없습니다.
네트워크 요청에 응답하는 서비스를 실행 중입니다. 이러한 이유로 전용 사용자 계정의 후원으로 실행되도록 설계되었습니다. 이는 프로그램의 올바른 구문 분석을 위해 사소하지 않은 복잡한 사람이 읽을 수 있는 프로토콜을 사용하며 이 구문 분석기 어딘가에서 버그가 발생하면 손상될 수 있습니다. 그러나 이를 성공적으로 손상시키는 공격자는 귀하가 시스템에 액세스하는 데 사용하는 전용 서비스 사용자로만 시스템에 액세스할 수 있습니다.~해야 한다의도된 기능의 일부가 아닌 파일과 디렉터리가 불필요하게 액세스되거나 소유되지 않도록 하십시오.
나는 이것을 나 자신을 기록하는 것으로 확장했습니다. 개별 로그 서비스는 특정 로그 디렉터리에 액세스하고 기록하는 데 필요한 권한으로만 실행되며 서로, 대화형 사용자, 심지어 로그를 기록하는 (권한 없는) "기본" 서비스로부터도 격리됩니다.
잘 설계된 시스템에서는 권한 있는 액세스로 실행되는 서비스 프로세스가 거의 없어야 합니다. 일반적으로 SSH 또는 FTP 서비스와 같은 일종의 다중 사용자 로그인을 제공합니다. 여기서 서비스의 주요 부분은 실제로 권한이 없는 계정의 후원으로 실행되지만 상황은 간단합니다. 서비스 기능의 고유한 부분입니다.
따라서 이제 gitea 지시문이 다음과 같은지 여부를 고려해야 합니다.충분할 것이다. 생성 중인 서비스 계정은 SSH를 통한 대화형 로그인을 허용하고, 로그인 프로그램으로 대화형 셸 프로그램이 있고, 홈 디렉터리가 있어 손상된 서비스가 콘텐츠를 여기에 저장하고 해당 콘텐츠에 대한 액세스 권한을 부여할 수 있습니다.
추가 읽기
- 조나단 데보인 폴라드(2018). "소개하다". 스낵 가이드. 소프트웨어.
- 조나단 데보인 폴라드(2018). "로그 서비스 보안: 전용 로그 사용자 계정". 스낵 가이드. 소프트웨어.
- 조나단 데보인 폴라드(2018). "제한된 서비스: 권한이 없는 사용자 계정의 후원으로 실행됩니다.". 스낵 가이드. 소프트웨어.
- "서비스 사용자 계정". Windows 데스크탑: 시스템 서비스. MSDN. 마이크로소프트.
- "서비스에 대한 사용자 계정 설정". Windows 데스크톱: Active Directory 도메인 서비스. MSDN. 마이크로소프트.
- 다니엘 J. 번스타인. 큐메일보안. cr.yp.to.
- 조나단 데보인 폴라드(2011).TUI용 콘솔 및 터미널 예시. 자주 주어지는 답변입니다.
- https://unix.stackexchange.com/a/198713/5132
- https://unix.stackexchange.com/a/447329/5132