터미널에서 사용자 전환

터미널에서 사용자 전환

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

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의 일부 구성이 있지만 제 생각에는 다른 설치 및 배포의 영향을 받지 않도록 항상 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 또는 이와 유사한 시작 파일에서 변경하면 그가 사용하는 셸 유형에 따라 다릅니다. 괜찮을 것입니다.

관련 정보