2017-04-05 8 views
1

Cygwin을 USB 스틱에 설치했습니다. 두 대의 컴퓨터에서 Cygwin을 사용할 것입니다. (내 랩톱 및 데스크탑 컴퓨터)Cygwin에서 한 명의 사용자 만 사용

불행히도, 두 컴퓨터의 사용자 이름이 다릅니다. (사용자 및 ryang). 그래서 나는 그 두 컴퓨터를 교체 할 때마다 사용자 홈 디렉토리 chages의 위치를 ​​변경합니다.

ryang으로 Cygwin을 사용하는 경우 홈 디렉토리는 /home/ryang입니다. user으로 Cygwin을 사용하는 경우 홈 디렉토리는 /home/user입니다. 그러나 한 명의 사용자, "소량"만 사용하고 싶습니다.

두 컴퓨터의 설정을 변경하고 싶지 않습니다. 이것에 대한 좋은 해결책이 있습니까?

답변

2

문제는 두 사용자가 Cygwin에서 다르다는 것뿐 아니라 Windows 관점과도 다릅니다.

는 이제 모두 같은 Cygwin에서 이름을 공유하는 사용자가 파일 /etc/passwd

mkpasswd -c > /etc/passwd 
sed -e "s/ryang:/sohnryang:/g" -i /etc/passwd 

를 사용할 수 있으며 두 번째 컴퓨터

mkpasswd -c >> /etc/passwd 
sed -e "s/user:/sohnryang:/g" -i /etc/passwd 

에서 반복 할 수있는 Cygwin에서 사용자 이름을 바꿉니다. :은 첫 번째 및 여섯 번째 필드 만 변경해야합니다. 다섯 번째 손길이 닿지 않은 채로 남는다. 당신은 두 SID에서의 사용자 이름은 Windows에서 동일 또한 경우 두 컴퓨터에서 다른

C:\Users\myself>whoami /user  
USER INFORMATION 
---------------- 
User Name   SID 
==================== ============================================= 
my_computer\myself S-1-5-21-531030479-1339336681-3415091201-1009 

으로 확인할 수

그러나 두 사용자가 Windows 용 또한 다르다. Windows 사용자 이름 및 SID는 /etc/passwd

의 필드에 병합됩니다. SID가 다를 경우 시스템 유형에 따라 두 컴퓨터에서 생성 된 파일간에 인증 문제가 발생할 수 있습니다. Windows Home 버전은 일반적으로 Professional 제품보다 더 수수께끼입니다.

1

또 다른 빠른 해결책 - 각 기계에있는 유일한 Cygwin에서 사용자가있는 경우 - /etc/nsswitch.conf 파일을 편집하고 원하는 홈 디렉토리 위치로 db_home를 설정하는 것입니다 :

db_home: /home/MyName 

이것은 실제로 사용자 이름 자체를 변경하지 않습니다. 이 방법으로 디렉토리가 하드 코딩 된 경우 ALL Cygwin에 로그인하는 사용자는이 동일한 디렉토리를 사용하도록 설정됩니다. 그러나 단일 사용자 시스템의 경우 빠르고 쉽고 매력적입니다.