터미널에서 사용자 전환

터미널에서 사용자 전환

다음 명령을 사용하여 사용자를 전환하고 있습니다.

sudo su - userName

내 터미널에는 항상 다음이 있습니다.

user@user directory $ (some command)

하지만 사용자를 전환하면 다음만 있습니다.

$ (some commands)

무슨 뜻인지 설명하기는 어렵지만 저는 Linux를 처음 접했고 다른 질문에서는 이것을 찾지 못했습니다. 재로그인 후 $ 기호 이전의 전체 데이터를 어떻게 유지하나요?

편집: 알겠습니다. adduser name 명령을 사용하여 사용자를 다시 만들었습니다.

하지만 또 다른 질문이 있습니다. 이 명령은 /home 디렉토리를 생성하지만 비어 있습니다. 새 사용자를 위해 /home을 초기화하는 명령이 있습니까?

답변1

하지만 또 다른 질문이 있습니다. 이 명령은 /home 디렉토리를 생성하지만 비어 있습니다. 새 사용자를 위해 /home을 초기화하는 명령이 있습니까?

두 번째 질문에 대한 해결책은 첫 번째 질문도 해결합니다. 새 사용자의 홈 디렉토리에 모든 기본 구성 파일이 없으므로 새 셸에는 멋진 프롬프트 등이 표시되지 않습니다.

새 사용자를 생성하는 표준 명령그리고다음 내용을 사용하여 홈 디렉터리를 초기화합니다 /etc/skel.

useradd -m

그리고 언급한 대로 일부 배포판에는 잘못된 기본값이 있으므로 더 많은 옵션을 추가할 수 있습니다.

useradd -m -s /bin/bash

자세한 내용을 보려면 다음을 사용하세요.

man useradd

배포판과 관련된 고급 고급 도구가 있습니다. 데비안 등에서 사용되는 한 가지 예는 귀하의 질문에 대한 의견에서 이미 언급되었습니다.

adduser

useradd또한 /etc에는 다음과 같이 작동 할 수 있는 구성이 있지만 IMO에서는 다른 설치 및 배포의 영향을 받지 않도록 항상 useradd -m사용하는 방법을 배우는 것이 좋습니다 .-m

-D위의 설명에서 다음 인수를 사용하여 기본값을 설정할 수 있습니다 useradd.

useradd -D -s /path/to/default/shell

답변2

일반 사용자로 전환 중이고 이 사용자는 $PS1 세트가 없지만 내 의견으로는 Debian에서 useradd 명령을 사용하여 이 사용자를 추가합니다. 기본적으로 useradd를 사용하는 셸은 sh이므로 다음을 시도해 볼 수 있습니다.

chsh -s /bin/bash userName

이 명령은 userName의 쉘을 /bin/bash로 변경합니다. 해당 사용자로 다시 전환해 보세요. useradd를 사용하여 일부 사용자를 추가할 때 bash의 기본 셸을 변경하려면 /etc/default/useradd 파일을 변경할 수 있습니다.

sed -i -e "s@\(^SHELL\).*@\1=/bin/bash@g" /etc/default/useradd

답변3

일반 사용자(당신)에서 다른 일반 사용자(예: joe)로 전환하고 있는 것입니다. 그렇죠?
다음은 환경 변수 PS1에 정의된 쉘 프롬프트입니다.

user@user directory $

joe로 전환하면 joe의 셸 프롬프트가 표시됩니다. 그리고 그는 프롬프트에 멋진 내용을 표시하도록 구성하지 않았으므로 다음과 같은 기본 프롬프트만 표시됩니다.

$

두 번째는 일반 쉘 프로그램의 기본값이고, 여러분의 프로그램은 아마도 Linux 배포판의 기본값일 것입니다.

PS1을 귀하의 계정과 동일하게 설정해 보십시오. 도움이 될 것입니다:

user@usersBox directory $ 에코 "$PS1"

그리고 나중에

$ PS1="......"
joe@usersBox directory $

......를 위에 표시된 값으로 바꿉니다 echo.

"@" 뒤의 단어는 일반적으로 컴퓨터 이름이므로 설정 시 사용자 이름과 동일한 이름을 컴퓨터에 부여한 것 같습니다.
예제에서 혼란을 덜기 위해 컴퓨터 이름을 "usersBox"로 변경했습니다.

어쩌면 그는 의도적으로 당신이 가지고 있는 변종을 제거했을 수도 있습니다. 그러나 아마도 그것은 임의의 사소한 기술적 문제로 인해 발생했을 가능성이 높으며, 그가 사용하는 쉘의 종류에 따라 ~/.bashrc 또는 이와 유사한 시작 파일에서 그를 위해 변경해도 괜찮을 것입니다.

관련 정보