Cygwin을 설치했는데 편리하게 작동하는데 문제가 있습니다. 예를 들어 Peter가 홈 디렉토리와 쉘을 선호하는 경우 'su peter' 기능을 원합니다. 나는 보안에 관심이 없습니다. Windows 메커니즘에 표시되기 위해 이러한 "사용자 계정"이 필요하지 않습니다.
나는 나의 노력에 방해를 받았습니다. /etc/passwd에서 "비밀번호 필요 없음"을 설정하는 방법을 모르겠습니다. 'su'는 명령을 찾을 수 없음을 나타냅니다.
(그런데 저는 몇 년 전에 아무 문제 없이 다른 컴퓨터에 Cygwin을 설치했습니다. 최근의 "개선 사항" 때문에 싸우고 있습니까?)
내 질문을 명확히하겠습니다. /etc/passwd의 기능은 다음과 같습니다. * 홈 디렉토리를 할당합니다. 나는 조지와 피터가 서로 다른 디렉토리를 가지기를 원합니다. George와 Peter가 서로의 파일을 수정할 수 있는지 여부는 상관하지 않습니다. * George가 Peter와 다른 쉘을 사용할 수 있기를 바랍니다. 나는 goerge가 생성되는 모든 단일 쉘에 대해 ** tcsh ** cd /home/george ** source .cshrc를 입력해야 하는 것을 원하지 않습니다. 이것을 달성하는 쉬운 방법이 있습니까? Windows 시설에 선호하는 Cygwin 셸 개념이 있습니까?
답변1
나는 보안에 관심이 없습니다.
Windows 메커니즘에 표시되기 위해 이러한 "사용자 계정"이 필요하지 않습니다.
모든 Cygwin 사용자에는 해당 Windows 사용자가 있어야 합니다.
Cygwin에서 새 사용자를 어떻게 추가합니까?
- Windows 사용자 생성
- Windows에서 사용자 생성(시작 > 제어판 > 사용자 계정 관리 > 추가...)
- 해당 Cygwin 사용자 생성
다음 명령을 실행하십시오.
mkpasswd -l > /etc/passwd mkgroup -l > /etc/group
그러면 Cygwin 사용자 및 그룹이 Windows 사용자 계정과 동기화됩니다.
도메인에 있는 경우
-d
대신-l
- 사용자 셸 설정
/etc/passwd
일반 텍스트 파일인 수정을 통해 사용자의 기본 셸을 적절하게 변경합니다 .파일의 형식은 다음과 같습니다.
Username:Password:UID:GID:Info:Home:Shell
- 필요에 맞게 사용자 홈 디렉터리 권한을 수정합니다.
"비밀번호 필요 없음"을 설정하는 방법을 모르겠습니다.
보안에 전혀 관심이 없고 비밀번호를 사용하지 않으려는 경우:
password -p username
문서 에서 passwd
:
개요
passwd [OPTION] [USER]
옵션
...
-p, --pwd-not-required
USER에게는 비밀번호가 필요하지 않습니다.
원천비밀번호
나는 최근의 "개선"과 싸우고 있습니까?
Cygwin 버전 1.7.34부터는 /etc/passwd
더 이상 기본적으로 사용자 계정을 관리하는 데 사용되지 않습니다.
존재하는 경우
/etc/passwd
사용되지만 기존 설치 및 특수 상황을 충족하기 위해서만 사용됩니다.존재하지 않는 경우
/etc/passwd
에도 만들 수 있습니다. 보다mkpasswd그리고mkgroup자세한 내용은.
버전 1.7.34부터 Cygwin은 기본 Windows 사용자 관리를 사용합니다.
- Active Directory가 사용 가능한 경우
- 그렇지 않으면 SAM.
사용자 계정을 관리하려면 다음 대신 새로운 메커니즘을 사용해야 합니다 /etc/passwd
.
Cygwin 1.7.34부터 Cygwin은 Windows SID에서 POSIX UID/GID로 자동 내부 변환을 사용합니다. SID<=>UID/GID 매핑에 선호되는 방법인 이 메커니즘은 다음 항목에 자세히 설명되어 있습니다.Windows 계정을 POSIX 계정에 매핑.
Cygwin 1.7.34 이전에는 SID의 마지막 부분인 "RID(Relative IDentifier)"가 다음을 사용하여 /etc/passwd 및 /etc/group 파일을 생성할 때 기본적으로 UID 및/또는 GID로 사용되었습니다. 및 도구
mkpasswd
.mkgroup
이러한 도구와 파일에서 계정을 읽는 기능은/etc/passwd
최신/etc/group
버전의 Cygwin에 여전히 존재하지만 매우 특별한 요구 사항이 없는 한 앞서 언급한 자동 번역으로 전환해야 합니다. 다시, 참조 Windows 계정을 POSIX 계정에 매핑자세한 내용은.
su
명령을 찾을 수 없습니다.
교체하여 설치 sshd
하여 사용하세요 .ssh username@localhost
su
이 작업을 더 쉽게 하기 위해 별칭 을 정의할 수 있습니다 su
.
왜 su가 작동하지 않습니까?
이
su
명령은 Cygwin 배포판에 들어오고 나갔지만 Cygwin으로 포팅되지 않았으며 작동한 적이 없습니다. 현재 의 일부로 설치되어 있지만sh-utils
다시 작동하지 않습니다.오히려 설치하여 교체용 으로
sshd
사용하는 것이 좋습니다 .ssh username@localhost
su
su
작동하지 않는 이유에 대한 기술적 배경을 보려면 다음을 읽어보세요.'su' 명령 정보및 관련 메일 아카이브 메시지.