루트 홈 디렉토리의 위치 변경


10

루트 홈 디렉토리의 위치를 ​​/ root에서 / var / root로 변경하고 싶습니다. 나는 usermod로 이것을 할 수있었습니다.

usermod -d /var/root root

그러나 최신 버전의 usermod를 사용하면 현재 로그인 한 사용자의 디렉토리를 변경할 수 없습니다. 시스템을 처음 부팅 할 때 실행되는 시스템 설정 스크립트에서 부팅시 루트의 홈 디렉토리를 변경하려고하므로 실제로 다른 사용자가 될 수 없습니다.

현재 로그인 한 사용자의 홈 디렉토리 (이 경우 루트)를 변경하는 다른 방법이 있습니까?

아마도 / etc / passwd를 sed 할 수는 있지만 부주의 한 것 같습니다.


/ root를 / var / root에 하드 링크 하시겠습니까?
개렛

/ etc / passwd를 수동으로 수정할 수 있습니다.
billc.cn

답변:


11
  1. 수동 편집의 유일한 문제점 /etc/passwd은 편집기에서 파일을 열어 둔 상태에서 다른 사용자 나 프로그램이이 파일을 변경하면 경쟁이있을 수 있다는 것입니다. 이 경우 파일을 저장하면 해당 변경 내용이 손실됩니다. 이 문제가 자신에게 적용되지 않는다고 확신하는 경우 (다른 사용자가 로그인하지 않은 등) 계속 진행하여 편집 할 수 있습니다/etc/passwd

  2. 단일 사용자 모드로 부팅 할 때 루트의 홈 디렉토리가 사용 가능한지 확인하십시오 (예 : 루트 파일 시스템에 있어야 함).

  3. uid 0을 사용하여 보조 사용자를 생성, 전환 및 루트의 홈 디렉토리 변경과 같은 다양한 트릭이 작동하지 않습니다. 현재 로그인 한 사용자의 검사는 UID 기반입니다.


5
# 1을 사용 vipw하거나 sudoedit보호 할 수 있습니다. # 2의 경우 홈 디렉토리가 없으면 일반적으로 경고 만 발생합니다.
user1686

@ grawity : VIPW 정보 주셔서 감사합니다, 나는 그것에 대해 몰랐습니다. 나는 vipw를 사용하는 것이 아마도 가장 좋은 해결책이라고 생각합니다.
haimg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.