이제 대부분의 가상 호스트는 ASP의 표준 구성 요소인 FileSystemObject를 비활성화했습니다. 왜냐하면 이 구성 요소는 ASP에 강력한 파일 시스템 액세스 기능을 제공하고 서버 하드 디스크 작업의 모든 파일을 읽고, 쓰고, 복사하고, 삭제하고, 이름을 바꾸는 등의 작업을 수행할 수 있기 때문입니다. 물론 이는 기본 설정을 사용하는 Windows NT/2000에서만 가능합니다. 그러나 이 구성 요소를 비활성화하면 이 구성 요소를 사용하는 모든 ASP가 실행될 수 없고 고객 요구를 충족할 수 없게 됩니다.
서버의 보안에 영향을 주지 않고 FileSystemObject 구성 요소를 허용하는 방법(즉, 다른 가상 호스트 사용자는 이 구성 요소를 사용하여 다른 사람의 파일을 읽고 쓸 수 없습니다)? 여기서는 실험에서 얻은 방법을 소개합니다. 다음은 Windows 2000 Server를 예로 들어 설명합니다.
서버에서 리소스 관리자를 열고 각 하드 디스크 파티션 또는 볼륨의 드라이브 문자를 마우스 오른쪽 버튼으로 클릭한 후 팝업 메뉴에서 "속성"을 선택하고 "보안" 탭을 선택하면 어떤 계정이 이에 액세스할 수 있는지 확인할 수 있습니다. 파티션(볼륨) 및 액세스 권한. 기본 설치 후에는 모든 권한이 있는 "Everyone"이 나타납니다. "추가"를 클릭하고 "관리자", "백업 운영자", "고급 사용자", "사용자" 및 기타 그룹을 추가하고 "모든 권한" 또는 해당 권한을 "게스트" 그룹에 부여하지 않도록 주의하십시오. IUSR_machine name"에는 모든 권한이 있습니다. 그런 다음 권한이 부여된 그룹과 사용자만 이 하드 디스크 파티션에 액세스할 수 있도록 목록에서 "Everyone" 그룹을 삭제합니다. ASP가 실행되면 "IUSR_머신 이름"으로 하드 디스크에 액세스할 수 있습니다. , ASP는 하드 디스크의 파일을 읽고 쓸 수 없습니다.
수행해야 할 작업은 각 가상 호스트 사용자에 대해 별도의 사용자 계정을 설정한 다음 각 계정에 모든 권한을 허용하는 디렉터리를 할당하는 것입니다.
아래 그림과 같이 "컴퓨터 관리" → "로컬 사용자 및 그룹" → "사용자"를 열고 오른쪽 열에서 마우스 오른쪽 버튼을 클릭한 후 팝업 메뉴에서 "새 사용자"를 선택합니다.
팝업된 "새 사용자" 대화 상자에서 실제 필요에 따라 "사용자 이름", "전체 이름", "설명", "비밀번호" 및 "비밀번호 확인"을 입력하고 "다음에 사용자가 비밀번호를 변경해야 합니다"를 추가합니다. "사용자는 다음에 로그인할 때 비밀번호를 변경해야 합니다." 전에 "사용자는 로그인할 때마다 비밀번호를 변경해야 합니다." 확인 표시를 제거하고 "사용자는 비밀번호를 변경할 수 없습니다." 및 "비밀번호는 만료되지 않습니다."를 선택합니다. 이 예는 첫 번째 가상 호스트의 사용자가 익명으로 인터넷 정보 서비스에 액세스할 수 있도록 내장 계정 "IUSR_VHOST1"을 생성하는 것입니다. 즉, 모든 클라이언트가 http://xxx.xxx.xxxx/를 사용하여 이 가상 호스트에 액세스할 때, 그들은 ID로 액세스되는 이 계정을 사용합니다. 입력을 완료한 후 "만들기"를 클릭하세요. 실제 필요에 따라 여러 사용자를 생성하고 생성 후 "닫기"를 클릭할 수 있습니다.
이제 새로 생성된 사용자가 계정 목록에 표시되었으므로 추가 설정을 위해 목록에서 계정을 두 번 클릭합니다.
팝업 "IUSR_VHOST1"(즉, 방금 생성된 새 계정) 속성 대화 상자에서 "속함" 탭을 클릭합니다.
새로 생성된 계정은 기본적으로 "사용자" 그룹에 속합니다. 그룹을 선택하고 "삭제"를 클릭합니다.
지금 나타나는 것은 아래 그림과 같습니다. 이때 "추가"를 클릭하십시오.
팝업 "그룹 선택" 대화 상자에서 "손님"을 찾아 "추가"를 클릭하면 이 그룹이 아래 텍스트 상자에 나타납니다. 그런 다음 "확인"을 클릭합니다: [www.knowsky.com]
나타나는 내용은 아래 그림과 같습니다. "확인"을 클릭하여 이 대화 상자를 닫습니다.
"인터넷 정보 서비스"를 열고 가상 호스트 설정을 시작합니다. 이 예에서는 호스트 이름을 마우스 오른쪽 버튼으로 클릭하고 팝업 메뉴에서 "속성"을 선택합니다.
"첫 번째 가상 호스트 속성" 대화 상자가 나타나면 가상 호스트 사용자가 "F:VHOST1" 폴더를 사용하는 것을 볼 수 있습니다.
방금 "첫 번째 가상 호스트 속성" 대화 상자를 무시하고 "탐색기"로 전환한 후 "F:VHOST1" 폴더를 찾아 마우스 오른쪽 버튼을 클릭하고 "속성" → "보안" 탭을 선택하면 이 때 다음을 볼 수 있습니다. 폴더의 기본 보안 설정은 "모든 사람" 모든 권한입니다(표시되는 내용은 상황에 따라 정확히 동일하지 않음). 먼저 하단의 "상속 가능한 권한이 개체에 전파되도록 허용"을 변경합니다. 확인 표시를 제거하십시오.
이때 아래와 같은 "보안" 경고가 표시됩니다. "삭제"를 클릭하세요.
이때 보안 탭의 모든 그룹 및 사용자가 삭제되며(비워지지 않은 경우 '삭제'를 이용하여 삭제하세요.) '추가' 버튼을 클릭하세요.
그림과 같이 "관리자"를 추가하고 이전에 생성한 새 계정 "IUSR_VHOST1"을 추가하면 실제 필요에 따라 다른 그룹이나 사용자를 추가할 수도 있지만 "게스트"는 추가하지 마십시오. 그룹, "IUSR_machine name" 및 이러한 익명 액세스 계정이 추가되었습니다!
그런 다음 이전에 열렸던 "첫 번째 가상 호스트 속성" 대화 상자로 전환하고 "디렉터리 보안" 탭을 열고 익명 액세스 및 인증 제어의 "편집"을 클릭합니다.
팝업 "확인 방법" 상자(아래 그림 참조)에서 "편집"을 클릭합니다.
"익명 사용자 계정"이 팝업됩니다. 기본값은 "IUSR_Machine Name"입니다. "찾아보기"를 클릭하세요.
"사용자 선택" 대화 상자에서 이전에 생성한 새 계정 "IUSR_VHOST1"을 찾아 두 번 클릭합니다.
이번에는 익명 사용자 이름이 변경되었습니다. 비밀번호 상자에 이전에 계정을 만들 때 설정한 비밀번호를 입력하세요.
확인, 완료되었습니다. 확인을 클릭하여 이 대화 상자를 닫습니다.
이 설정 후에 ASP의 FileSystemObject 구성 요소를 사용하는 "첫 번째 가상 호스트" 사용자는 자신의 디렉터리인 F:VHOST1 아래의 콘텐츠에만 액세스할 수 있습니다. 다른 콘텐츠에 액세스하려고 하면 "권한 없음"과 같은 오류 메시지가 나타납니다. . "하드 디스크가 준비되지 않았습니다", "500 서버 내부 오류" 및 기타 오류 메시지가 표시됩니다.
또 다른: 사용자가 하드 디스크의 파티션 용량과 하드 디스크의 일련 번호를 읽어야 하는 경우 이러한 설정으로 인해 읽을 수 없게 됩니다. 전체 파티션과 관련된 내용을 읽을 수 있도록 허용하려면 하드 디스크의 파티션(볼륨)을 마우스 오른쪽 버튼으로 클릭한 후 "속성" → "보안"을 선택하고 이 사용자의 계정을 목록에 추가한 후 에 제공하십시오. 최소한 "읽기" "권한. 이 볼륨 아래의 하위 디렉터리는 모두 "상속 가능한 권한을 상위 개체에서 이 개체로 전파하는 것을 금지"로 설정되었으므로 다음 하위 디렉터리의 권한 설정은 영향을 받지 않습니다.