저는 FreeBSD와 bash를 쉘로 사용하고 있습니다. 저는 또한 FreeBSD를 기반으로 하는 FreeNAS 및 pfSense와 함께 SSH를 사용합니다.
bash 옵션 설정에 대해 혼란스러워서 몇 가지 설명이 도움이 될 것입니다. 향후 세션에서 사용할 다양한 셸 옵션을 얻으려고 노력 중이지만(그리고 세션에서 호출된 셸로 내보내기) 많은 행운이 없습니다. 어쩌면 나는 그것들을 넣을 올바른 파일을 찾는 방법이나 거기에 넣을 올바른 방법을 알지 못할 수도 있습니다.
내 주요 문제는 아마도 세션에 대한 rc 파일을 찾는 것입니다.(!!) 루트로 로그인해서 실행하면 su
다른 set
환경변수 목록이 나옵니다. 그런데 사용자를 변경하지 않았는데 왜 rc 파일이 다른지 헷갈리네요. (내가 찾은 파일에는 내가 보고 있던 환경 변수에 대한 다른 항목이 없었습니다.) set
출력이 표시되지만 ENV=/USERNAME/.shrc
이 파일을 편집하고 다시 로그인하면 세션에 대한 변경 사항이 표시되지 않으므로 볼 수 있는 위치가 아닌 것 같습니다. 하지만 편집 내용도 바인딩했지만 ~/.bashrc
아무 효과가 없는 것 같습니다.
세션을 시작하는 데 어떤 .rc 파일이 사용되었는지 직접 확인할 수 있는 방법이 있어야 하지만 어떻게 해야 할지 모르겠습니다. 특히 FreeNAS와 pfSense에는 둘 다 고유한 사용자 정의 위치가 있기 때문입니다.
하나 또는 두 개의 rc 파일을 사용하든 현재 세션과 동일한 향후 세션을 위해 어떤 rc 파일을 편집해야 하는지 어떻게 찾을 수 있습니까? 먼저 루트로 로그인한 후 다시 로그인하면 하나의 rc 파일을 사용합니까, 아니면 두 개의 다른 파일을 사용합니까 su
?
답변1
FreeBSD의 기본 루트 쉘은 /bin/tcsh입니다. 당신은해야아니요루트 사용자의 쉘을 변경하십시오. bash 쉘을 쉽게 사용할 수 있습니다. 그러나 자신의 사용자를 위해 쉘을 변경하십시오. 루트 권한이 필요한 경우 su -c 또는 더 나은 방법인 sudo를 사용하는 습관을 들여야 합니다. 이렇게 하면 루트 사용자의 쉘이 무엇인지 전혀 신경 쓰지 않게 됩니다. 루트의 쉘을 변경해야 한다면 "toor"(루트 역방향) 사용자를 사용하십시오. 여전히 uid 0으로 실행되지만 쉘을 변경하는 것이 안전합니다.
당신은 그것을 언급 ~/.bashrc
하지만 상대적입니다. 일반적인 FreeBSD 설치에서는 /home/<username>/.bashrc
일반 사용자와 /root/.bashrc
루트 사용자 모두로 확장됩니다 .
루트로 로그인했다고 작성하셨습니다. 이 작업을 수행하지 말고 일반 사용자로 로그인하는 것이 좋습니다.
로그인 쉘이 아닌 대화형 쉘을 시작하면 bash는 ~/.bashrc
파일이 존재하는 경우 명령을 읽고 실행합니다. 이는 로그인 시 .bashrc가 호출되지 않음을 의미합니다! 대화형 쉘로 시작한 경우에만 가능합니다.
당신은 찾고있을 것입니다 ~/.bash_profile
- 참조 https://forums.freebsd.org/threads/2682/