현재 로그인 한 사용자의 홈 디렉토리를 변경하는 방법


17

현재 CentOS 서버에 로그인했으며 홈 디렉토리를 /home/myuserName/에서/var/www/html/

아래 명령을 시도했습니다.

> sudo usermod -d /var/www/html myuserName

그러나 이것은 나에게 오류를 준다 :

usermod: user myUserName is currently logged in

2
난 당신이 무엇을 의미하는지 확실치 HOME=/var/www/html변경됩니다 세션에 대한 홈 디렉토리.
Archemar

도움이되지만 현재 세션뿐만 아니라 내 홈 디렉토리를 영구적으로 변경하고 싶습니다.
Mohan

답변:


17

짧은 대답 : 당신은 할 수 없습니다.

긴 대답 :

HOMEdir은 /etc/passwd6 번째 필드에 설정됩니다 . 로그인시 읽히고 쉘은이 홈 디렉토리로 시작됩니다.

joe의 홈 디렉토리를 변경하는 올바른 방법은 다음과 같습니다.

  • joe가 로그 오프하도록합니다.
  • usermod -d /new/home joe 후속 세션에서 홈 디렉토리를 변경 하는 데 사용 합니다.

세션이 실행되면 두 가지 작업을 수행해야합니다.

  • $HOME세션의 홈 디렉토리를 변경 하려면 편집하십시오 (모든 활성 세션에서 반복됨).
  • sudo vipw다음 wession에 대한 홈 디렉토리를 편집 하는 데 사용

또한 권한 / 소유권에 문제가있을 수 있습니다. /var/www/html


1
편집 / etc / passwd는 항상 나를 위해 일했습니다. 아래 @ 7171u 참조
jeffmcneill

로그 오프 / 로그온없이 / etc / passwd 편집?
Archemar

로그인 한 계정에 대해 / etc / passwd를 편집 한 다음 같은 계정으로 새 세션을 시작하면 새 홈 디렉토리를 따릅니다. 이미 로그인 한 계정의 경우 해당 세션에는 여전히 환경의 이전 홈 위치가 있습니다.
jeffmcneill

8

변경하려는 사용자로 로그인 한 경우 usermod 명령이 작동하지 않습니다.

usermod의 매뉴얼 페이지에서 다음과 같이 말합니다.

경고 usermod를 사용하면 로그인 한 사용자의 이름을 변경할 수 없습니다. 사용자의 숫자 사용자 ID가 변경되는 경우이 명령이 실행될 때 이름 지정된 사용자가 프로세스를 실행하고 있지 않은지 확인해야합니다. crontab 파일의 소유자를 수동으로 변경해야합니다. at 작업 소유자를 수동으로 변경해야합니다. NIS 서버에서 NIS와 관련된 변경을 수행해야합니다.

다른 사용자로 로그인하고 명령을 다시 실행하십시오.

이것이 가능하지 않으면 / etc / passwd 파일을 수동으로 편집 할 수 있습니다 (실제로 usermod 명령이 수행하는 작업 임). 그렇게하면 실수로 어리석은 일을 할 수 있도록 파일을 백업하십시오.


7

/etc/passwd현재 로그인 한 사용자의 홈 디렉토리를 변경 하려면 파일 을 편집해야합니다 .

/etc/passwdwith를 편집하고 sudo vipw사용자의 홈 디렉토리를 변경하십시오.

vipw데이터 손상을 방지하기 위해 잠금을 설정 vim하므로 다른 편집기 나 다른 편집기를 사용 하는 것이 좋습니다 vipw.


2

해결하고자하는 것에 따라 몇 가지 가능한 해결 방법 :

옵션 1. HOME=/var/www/html.bashrc에 추가

옵션 2. 이름 /home/myusername을 바꾼 다음 원하는 디렉토리에 대한 심볼릭 링크를 만듭니다.

mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername

나쁜 습관. 그 후, myusername-old는 다른 사용자가 사용할 수 없습니다
GeoMint

-2

이 작업은 일시적으로 만 수행 할 수 있습니다. 즉, 해당 사용자로 로그인 할 때마다 다음 명령을 실행해야합니다.

export HOME=/var/www/html

이렇게하면 대부분의 응용 프로그램에서 홈 디렉토리가 위에서 사용하는 위치 라고 생각 하게 할 수 있습니다 .

~을 가리 키기 시작합니다 /var/www/html.

이 응용 프로그램은 NPM과 Maven이었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.