2010-08-17 8 views
6

Tôi tìm thấy một cái gì đó liên quan, nhưng không giống nhau.Cách cấp quyền truy cập NT AUTHORITY IUSR cho nội dung thư mục được chia sẻ?

The error "Login failed for user 'NT AUTHORITY\IUSR'" in ASP.NET and SQL Server 2008

Vấn đề của tôi là các tập tin được chia sẻ trên mạng, và tôi muốn gỡ lỗi từ IIS địa phương, tôi thấy rằng tất cả các file tĩnh có vẻ là access denied (401,3)

tôi đã sử dụng hệ thống theo dõi, và thấy rằng IIS đang truy cập vào nguồn sử dụng "NT AUTHORITY \ IUSR"

Url http://localhost:8451/umbraco_client/panel/images/panel_boxhead_h2_bg.gif 
App Pool Debug451 
Authentication anonymous 
User from token NT AUTHORITY\IUSR 
Activity ID 

tôi đã thiết lập các thư mục chia sẻ để có thể truy cập đến tất cả mọi người, và thay đổi bản sắc hồ bơi ứng dụng để Administrat miền hoặc là.

Tôi cũng đã cố gắng sử dụng 'dịch vụ mạng' như danh tính và gán Domain \ MachineName $ đầy đủ quyền truy cập vào các thư mục chia sẻ ...

Có vẻ với tôi rằng IIS luôn sử dụng "NT AUTHORITY \ IUSR" để truy cập tĩnh resouce? Nếu có, làm thế nào tôi có thể cấp quyền truy cập vào một thư mục dùng chung cho một tài khoản cục bộ? Hoặc làm thế nào tôi có thể buộc IIS sử dụng một số nhận dạng khác?


cập nhật: vì có một số câu trả lời mới cho câu hỏi cũ mà tôi đã bỏ lúc đó. Tôi đã cố tình gặp phải vấn đề tương tự này một lần nữa gần đây trên một máy chủ đang chạy Windows 2008 R2, mà tôi đã giải quyết, và tôi muốn đưa ra một số cập nhật.

Tôi giải quyết vấn đề lần này bằng cách thêm quyền đọc vào $ ComputerName/Users. Điều này có vẻ chỉ là một vấn đề với môi trường máy chủ, và không chắc chắn nếu liên quan đến bất kỳ chính sách nhóm hoặc loại tương tự. Hy vọng điều này có thể giúp ai đó trong tương lai.

+0

Tôi đã đổi nó thành phương thức mạo danh và ủy quyền thành 'Windows', cố gắng nhập thông tin nhận dạng của quản trị viên miền. Vẫn cung cấp cho tôi 401.3, lần này: Người dùng từ mã thông báo Domain \ Administrator – ccppjava

Trả lời

0

Đảm bảo bạn đã bật IIS để phân phát nội dung tĩnh. Tôi đã có vấn đề này, và nó đã khiến tôi phát điên lên cho đến khi tôi tìm ra điều đó.

Trong "Bật tính năng Windows bật hoặc tắt", đi tới "Dịch vụ thông tin Internet> Dịch vụ web toàn cầu> Tính năng HTTP phổ biến> Nội dung tĩnh" (dành cho Windows 7; bạn sẽ phải tìm tùy chọn tương tự trong XP) .

Tôi không biết điều này sẽ giúp ích bao nhiêu, nhưng cũng là see Microsoft's documentation.

+0

Thật ngớ ngẩn khi IIS không mặc định tùy chọn này. – palswim

+0

Cảm ơn thông tin của bạn, đây không phải là trường hợp của tôi. Vì nó là môi trường dev nên mọi thứ của IIS đều được cài đặt ... – ccppjava

+0

Bạn có muốn chấp nhận câu trả lời của mình cho dù đó không phải là câu trả lời cho câu hỏi của bạn không? –

0

điều này phù hợp với tôi, cảm ơn. Chuyển đến thư mục chia sẻ -> nhấp chuột phải -> thuộc tính -> bảo mật -> chỉnh sửa -> thêm (cho đến nay như thường lệ) -> chọn loại đối tượng -> kiểm tra trên máy tính -> giờ nhập tên máy tính nơi ứng dụng của bạn đang hoạt động từ, nơi bạn xuất bản ứng dụng của mình

+0

cảm ơn bạn rất nhiều vì đã trả lời câu hỏi, tuy nhiên, tôi không thể xác thực câu trả lời của bạn nữa vì tôi không thể truy cập vào môi trường được nữa. – ccppjava

0

Bạn có thể thử $ [computername] \ IUSR> bạn sẽ muốn sử dụng tìm kiếm nâng cao để tìm kiếm quyền này trong quyền của windows.

Hoặc ... bạn có thể thiết lập thư mục được chia sẻ của bạn dưới dạng ổ đĩa trên IIS cục bộ và truy cập theo cách đó. Vì vậy, [serverb] \ share trở thành ánh xạ tới một chữ cái trên máy chủ A và IIS truy cập nó theo cách đó.

1

Khi bạn đã định cấu hình người dùng của nhóm ứng dụng để có quyền truy cập vào thư mục được chia sẻ (tạo người dùng mới trong cửa sổ và thêm người dùng đó vào nhóm IUSER và thêm quyền truy cập cụ thể vào thư mục dùng chung cho người dùng đó) , BẠN PHẢI thay đổi trong IIS cài đặt xác thực: IIS-> trang web cần quyền truy cập-> Cài đặt xác thực -> xác thực ẩn danh-> chỉnh sửa-> chọn nhận dạng hồ bơi aplication (thay vì IUSER).