usermod를 사용하여 bash 쉘에 어떤 경로를 설정해야 합니까?

usermod를 사용하여 bash 쉘에 어떤 경로를 설정해야 합니까?

SSH를 통해 서버에 연결합니다.

이제 현재 쉘이 sh이므로 쉘을 bash로 설정하고 싶습니다.

sudo /sbin/usermod -s /usr/bin/bash santi

사용해야 할까요 /bin/bash, 아니면 /usr/bin/bash상관없나요?

답변1

허용되는 쉘은 파일에 나열되어 있습니다 /etc/shells.

chsh계정에서 실행하세요 santi. sudo가 필요하지 않습니다. 허가 없이 쉘을 사용하는 것을 방지할 수 있습니다.

관리자는 허용되지 않는 쉘을 설정할 수 있지만 의도적으로 액세스가 제한된 사용자 계정을 설정하지 않는 한 이는 좋지 않은 생각입니다. 한 가지 이유는 일반 사용자가 더 이상 변경할 수 없다는 것입니다. 또 다른 이유는 배포판이 지속적으로 /etc/shells업데이트되므로 업그레이드로 인해 사용자가 로그인하는 것이 차단되지는 않지만 계정에 관리자 권한이 있는 허용되지 않는 셸을 제공하는 경우 해당 계정을 잠그지 않도록 주의하는 것은 귀하의 책임입니다.

답변2

bash시스템의 실행 파일 경로를 확인하려면 다음 명령을 사용할 수 있습니다.

command -v bash

시스템에서 사용 가능한 셸을 나열할 수도 있습니다.

cat /etc/shells

대화형으로 셸을 설정하려면 다음을 수행하세요.

chsh <userame>

도움이 되었기를 바랍니다!

답변3

/bin/bashbash를 and 둘 다에서 사용할 수 있는 경우 (보통 심볼릭 링크 /usr/bin/bash이기 때문에 )/bin/usr/bin/usr 병합) 상관없습니다. 둘 다 작동합니다이 시스템에서

그러나 나는 이것이 설치되는 전통적인 위치이고 다른 시스템에서 실행하는 경우(수동 단계는 아니지만 여러 컴퓨터에서 실행될 수 있는 스크립트에 포함된 경우) 호환성이 더 높기 때문에 /bin/bashover를 사용하는 것을 선호합니다. /usr/bin/bashbash 위치는 shebang에 작성하는 것입니다)

답변4

그 중 하나는 다른 하나에 대한 링크일 수 있습니다.

전통적으로 쉘(예: bash, csh 및 zsh)은 /bin에 있습니다. 이는 단일 사용자 모드나 /usr이 마운트 해제될 수 있는 다른 경우에도 필요하기 때문입니다(/usr은 종종 별도의 파티션에 있고 심지어 마운트) 네트워크를 통한 쉘 - 단일 사용자 모드에서는 사용하기 쉽지 않습니다.

반면, 단일 사용자 모드에서는 추가 셸(기본 하나 이상)이 꼭 필요하지 않습니다(루트가 그 중 하나를 사용하지 않는 한). 따라서 이러한 셸을 대신 /usr/bin에 넣는 것이 당연합니다. /usr/bin/trash에 있습니다.

/bin/zsh와 /usr/bin/zsh의 차이점은 무엇입니까?

/bin/bash둘 다 /usr/bin/bashBash 셸 실행 파일에 대한 유효한 경로입니다.

/bin/bash와 사이의 차이점은 /usr/bin/bash역사적이며 시스템 규칙과 구성에 따라 다릅니다.

/bin전통적으로 Bash는 Unix 시스템의 경로 에 설치되었으며 일부 최신 Linux 배포판에서는 이를 이 /usr/bin경로에 저장합니다. 대부분의 시스템은 /bin/bash에서 /usr/bin/bash로의 심볼릭 링크를 생성합니다. 이는 두 경로가 동일함을 의미합니다.

/usr/bin대부분의 최신 Linux 배포판에서 사용자 수준 실행 파일의 기본 위치입니다. 이 경로에는 일반적으로 부팅 프로세스 후반까지 설치되지 않는 사용자 설치 실행 파일이 포함되어 있습니다.

/usr/bin/bash이 위치에 설치된 경우 bash 실행 파일의 경로입니다.

/bin/bash기호 링크는 Bash 실행 파일이 설치되어 있어도 참조된 이전 스크립트와 응용 프로그램이 계속 제대로 작동하도록 보장합니다./usr/bin

명령에 사용하거나 /bin/bash사용자를 위한 쉘을 설정할 수 있습니다./usr/bin/bashusermodsanti

둘 다 잘 작동할 것이다.

zsh는 /usr/bin 아래에 있거나 /bin 아래에 있습니다. 차이점은 무엇입니까?

/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin의 차이점

파일 시스템 계층 표준

/bin/bash와 /usr/bin/bash의 차이점

"/bin/bash" 또는 "/usr/bin/env bash"로 bash를 시작하면 차이점이 무엇입니까?

관련 정보