FreeBSD 감옥 내 – 전역 환경 변수 설정

FreeBSD 감옥 내 – 전역 환경 변수 설정

FreeBSD 감옥에서 시스템 전체 환경 변수(예: NODE_ENV=production)를 설정해야 합니다.

/etc/profile에 설정하려고 했지만 소스를 제공했을 때

root@www:/ # source /etc/profile

나는 얻었다

export: Command not found.

호스트 시스템에서 작동합니다.

또한 /.chsrc 설정을 시도했습니다. 그러나 이는 변수를 루트에서만 사용할 수 있게 만들고 감옥의 다른 사용자는 사용할 수 없게 만듭니다.

답변1

큐:"FreeBSD 감옥에 시스템 전체 환경 변수를 설정합니다."

/etc/profileA: 및 에서 변수를 모두 설정하십시오 /etc/csh.cshrc.


세부

에서 인용3.9. 포탄

환경 변수를 설정하는 방법은 쉘마다 다릅니다. tcsh(1) 및 csh(1)에서는 setenv를 사용하여 환경 변수를 설정합니다. sh(1) 및 bash에서는 내보내기를 사용하여 현재 환경 변수를 설정합니다.


아래의 모든 사례는 감옥에서 처형되었습니다.

FreeBSD test_01.example.org 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  i386

기본 쉘을 사용하는 sh사용자bash

/etc/profile글로벌 환경을 설정하기에 적합한 곳입니다. 예를 들어

$ cat /etc/profile
NODE_ENV=production;    export NODE_ENV

에서 인용프로필(4)

쉘 sh(1)을 로그인 명령으로 사용하는 모든 사용자는 로그인 시퀀스의 일부로 이 파일의 명령을 실행합니다.

예를 들어, 사용자admin

$ grep admin /etc/passwd
admin:*:1001:1001:User &:/home/admin:/bin/sh

실행/etc/profile "로그인 시퀀스의 일부로"환경을 설정하고

$ echo $NODE_ENV
production

이 환경은 cshtcsh

$ csh
admin@test_01:~ % echo $NODE_ENV
production

에 의해서도 보존될 것입니다.su

$ su
root@test_01:/home/admin # echo $NODE_ENV
production

export에는 명령이 없습니다 . 이것은 오류를 설명합니다cshtcsh

$ csh
admin@test_01:~ % source /etc/profile
NODE_ENV=production: Command not found.
export: Command not found.

기본 쉘을 사용하는 csh사용자tcsh

/etc/csh.cshrccsh은 및 에 대한 글로벌 환경을 설정하기에 적합한 장소입니다 tcsh. 예를 들어

root@test_01:~ # cat /etc/csh.cshrc
setenv NODE_ENV production

기본 쉘은 root기본적으로csh

root@test_01:~ # grep root /etc/passwd 
root:*:0:0:Charlie &:/root:/bin/csh

이는 환경을 설정합니다.

root@test_01:~ # echo $NODE_ENV
production

관련 정보