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


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.