Linux에서 프로세스의 환경 변수가 다른 (루트가 아닌) 사용자가 관찰 할 수 있는지 확인하려고합니다.
즉각적인 사용 사례는 환경 변수에 비밀을 두는 것입니다. 이것은 웹의 여러 곳에서 안전하지 않은 것으로 논의되었지만 Linux의 정확한 노출 지점에 대해서는 언급 할 수 없었습니다.
내가하고 있습니다 없습니다 파일에 일반 텍스트 비밀을 퍼팅에 대해 이야기. 또한 루트 계정에 노출되는 것에 대해 이야기하고 있지 않습니다 (루터가 아닌 스타터로 적의 비밀을 숨기려고 시도합니다).
이 질문 은 환경 변수를 보안이 없거나 완전히 난독 화 된 것으로 분류하는 의견과 함께 내 문제 를 해결하는 것으로 보이지만 어떻게 변수에 액세스합니까?
내 테스트에서 권한이없는 사용자는 프로세스 테이블 ( 'ps auxwwe')을 통해 다른 사용자의 환경 변수를 관찰 할 수 없습니다. 환경 변수 (예 : 내보내기)를 설정하는 명령은 프로세스 테이블에 작성하지 않고 확장명으로 / proc / $ pid / cmdline에없는 쉘 내장입니다. / proc / $ pid / environ은 프로세스 소유자의 UID 만 읽을 수 있습니다.
아마도 다른 운영 체제 나 버전간에 혼란이있을 수 있습니다. 웹상의 다양한 (최근) 소스는 환경 변수의 안전을 약화 시키지만 다른 Linux 버전에 대한 스팟 확인은 이것이 적어도 2007 년으로 돌아갈 수는 없음을 나타냅니다 (아마도 더 있지만 상자가 없습니다) 테스트 할 손).
Linux에서 권한이없는 사용자가 다른 프로세스의 환경 변수를 어떻게 관찰 할 수 있습니까?