Có nhiều phương pháp bạn có thể sử dụng để định cấu hình danh sách kiểm soát truy cập (ACL). Một trong những phương pháp này là thông qua việc sử dụng công cụ dòng lệnh như Icacls.exe. Các máy chủ lưu trữ PHP thường sử dụng dòng lệnh để thiết lập ACL. Tuy nhiên, bạn cũng có thể thiết lập danh sách kiểm soát truy cập bằng cách sử dụng tệp Manifest.xml. Đây là những hệ thống thường được sử dụng trong quá trình cài đặt ứng dụng với việc sử dụng Công cụ triển khai Web (WDT) hoặc thông qua việc sử dụng Trình cài đặt nền tảng web của Microsoft (Web PI).


WDT được cấu hình sẵn để cài đặt tất cả các tệp và thư mục mà không thực hiện bất kỳ thay đổi nào đối với bất kỳ loại quyền nào đã tồn tại. Trong phần lớn các trường hợp, nó ngụ ý rằng ứng dụng chỉ có quyền đọc mục nhập vào các tệp và thư mục được cài đặt. Nếu ứng dụng của bạn yêu cầu được ghi vào một tệp hoặc thư mục, bạn có thể đánh vần các tệp hoặc thư mục cụ thể bằng lệnh setAcl trong tệp Manifest.xml. Các thành phần setAclResourceType chỉ định nếu đường dẫn là viết tắt của một tệp hoặc một thư mục.

XMLCopy

Để xác nhận rằng bạn cung cấp danh sách điều khiển truy cập vào thư mục bên phải, bạn cũng cần phải thực hiện một ràng buộc ẩn liên quan đến AppPath nơi nó được cấu hình và thiết lập.

XMLCopy

Nếu bạn không định cấu hình ACL trên một tệp hoặc thư mục cụ thể, ACL có thể sẽ được cấu hình để cho phép đọc quyền truy cập vào tệp hoặc thư mục theo mặc định. Các ACL là chính xác, do đó, cấp quyền truy cập về cơ bản không cung cấp quyền truy cập đọc. Nếu bạn phải ghi vào một tập tin hoặc thư mục, bạn nên kết hợp “đọc, viết”. Khi bạn phải liệt kê các tệp trong một thư mục, bạn nên kết hợp “ListDirectory”. Xin lưu ý rằng quyền truy cập ghi không có nghĩa là sửa đổi. Nếu bạn cần thay đổi các tệp ngay khi chúng được ghi vào đĩa, bạn phải định cấu hình rõ ràng quyền truy cập sửa đổi.

Có một vài quyền là sự hợp nhất của các quyền khác; ví dụ: quyền “Sửa đổi” cho phép người đó có quyền “Đọc”, “Viết”, “Thực thi” và “Xóa”.

Để cung cấp quyền đọc, thực thi và viết quyền truy cập vào Ứng dụng của tôi thư mục cấu trúc tệp cho khách hàng Kiểm tra, kết hợp dòng dưới đây vào tệp Manifest.xml của bạn:

XMLCopy

Để cấu hình Danh sách điều khiển truy cập trên chuỗi Ứng dụng / Tải lên của tôi để cho phép khách hàng ẩn danh tải lên nội dung, hãy tích hợp dòng bên dưới vào Manifest.xml tập tin:

XMLCopy

Xin lưu ý rằng nặc danhAuthenticationUser là một mã thông báo cụ thể thường được giải quyết để thiết lập ID xác thực ẩn danh của bạn. Để cung cấp quyền truy cập đọc vào Ứng dụng của tôi thư mục nhận dạng nhóm ứng dụng, tích hợp dòng bên dưới vào Manifest.xml tập tin:

XMLCopy

Xin lưu ý rằng setAclUser không được sử dụng ở đây. Giá trị đặt trước cho điều này là Nhận dạng nhóm ứng dụng; do đó, bạn có thể rời khỏi dòng đó.

Xin lưu ý rằng rủi ro bảo mật rất lớn khi cung cấp quyền truy cập “Viết” hoặc “Sửa đổi” cho toàn bộ cây ứng dụng thông qua ứng dụng ACL ở thư mục gốc của ứng dụng. ACL phải có rất nhiều hạn chế và chi tiết về bản chất nhưng không giới hạn chức năng của các ứng dụng.

Nếu bạn am hiểu về các quyền của UNIX hoặc Linux, các đặc quyền ở đây có liên quan đến các quyền “Chủ sở hữu” trong các nền tảng đó. Mặc dù các quyền của Nhóm và Toàn cầu có thể được định cấu hình thông qua rất nhiều ACL bên ngoài WDT, các quyền duy nhất được định cấu hình trong trường hợp này là loại quyền “Chủ sở hữu”. Biểu đồ dưới đây minh họa các bản sao hệ điều hành Windows của một loạt các quyền được che dấu bit Linux:

Linux

Ví dụ về quyền người dùng và các mô tả

fileSystemRights Enum

  • Không gian tên: System.Security.AccessControl
  • Các hội đồng: System.IO.FileSystem.AccessControl.dll, mscorlib.dll
  • Định nghĩa: Điều này xác định quyền truy cập để sử dụng khi phát triển quy tắc truy cập và kiểm toán.
  • Danh sách này chứa phần tử FlagsAttribution cho phép sáp nhập từng bit các giá trị thành viên của nó.

C #Sao chép

[System.Flags]
[System.Security.SecurityCritical]

công khai FileSystemRights

  • Di sản: Đối tượng -> ValueType -> Enum -> FileSystemRights
  • Thuộc tính: FlagsAttribution, SecurityCriticalAttribution

Ví dụ

Mã dưới đây là một minh họa sử dụng danh sách FullControl để đánh vần một quy tắc truy cập và sau đó lấy đi quy tắc truy cập từ một tệp. Bạn phải cung cấp tài khoản người dùng hoặc nhóm hợp lệ để có thể thực hiện ví dụ chúng tôi đã trình bày ở đây.

Sao chép C #

sử dụng hệ thống;
sử dụng System.IO;
sử dụng System.Security.AccessControl;

không gian tên FileSystemExample
{
lớp FileExample
{
công khai chính ()
{
thử
{
chuỗi fileName = "test.xml";

Console.WriteLine ("Thêm mục kiểm soát truy cập cho"
+ Tên tệp);

// Thêm mục kiểm soát truy cập vào tệp.
AddFileSecurity (fileName, @ "DomainNameAccountName",
FileSystemRights.ReadData, AccessControlType.Allow);

Console.WriteLine ("Xóa mục kiểm soát truy cập khỏi"
+ Tên tệp);

// Xóa mục kiểm soát truy cập khỏi tệp.
RemoveFileSecurity (fileName, @ "DomainNameAccountName",
FileSystemRights.ReadData, AccessControlType.Allow);

Console.WriteLine ("Xong.");
}
bắt (Ngoại lệ e)
{
Bảng điều khiển.WriteLine (e);
}
}

// Thêm một mục ACL trên tệp được chỉ định cho tài khoản đã chỉ định.
publicstaticvoid AddFileSecurity (chuỗi fileName, tài khoản chuỗi,
Quyền FileSystemRights, ControlControlType controlType)
{


// Nhận một đối tượng FileSecurity đại diện cho
// cài đặt bảo mật hiện tại.
FileSecurity fSecurity = File.GetAccessControl (fileName);

// Thêm FileSystemAccessRule vào cài đặt bảo mật.
fSecurity.AddAccessRule (FileSystemAccessRule mới (tài khoản,
quyền, loại điều khiển));

// Đặt cài đặt truy cập mới.
File.SetAccessControl (fileName, fSecurity);

}

// Xóa mục nhập ACL trên tệp đã chỉ định cho tài khoản đã chỉ định.
publicstaticvoid RemoveFileSecurity (chuỗi fileName, tài khoản chuỗi,
Quyền FileSystemRights, ControlControlType controlType)
{

// Nhận một đối tượng FileSecurity đại diện cho
// cài đặt bảo mật hiện tại.
FileSecurity fSecurity = File.GetAccessControl (fileName);

// Xóa FileSystemAccessRule khỏi cài đặt bảo mật.
fSecurity.RemoveAccessRule (FileSystemAccessRule mới (tài khoản,
quyền, loại điều khiển));

// Đặt cài đặt truy cập mới.
File.SetAccessControl (fileName, fSecurity);

}
}
}

Đối với hướng dẫn thiết lập ACL Dịch vụ thông tin Internet (IIS), hãy xem bên dưới:

Cách đặt ACL

Có rất nhiều cách bạn có thể thiết lập ACL của mình thông qua trình bao. Các luận án bao gồm việc sử dụng các công cụ dòng lệnh như Icacls.exe. Bài viết này tập trung vào cơ chế tệp kê khai công cụ triển khai Web (XML) có thể được sử dụng để thiết lập ACL. Điều này được sử dụng khi bạn đang cài đặt một ứng dụng thông qua Công cụ triển khai Web hoặc Trình cài đặt nền tảng web.

Để cung cấp quyền Đọc, Thực thi và Viết cho thư mục hệ thống tệp MyApp cho người dùng Foo, hãy kết hợp dòng bên dưới với tệp Manifest.xml:

XMLCopy

Để định cấu hình ACL trên đường dẫn MyApp / Upload để cho phép người dùng ẩn danh tải lên nội dung, hãy tích hợp các dòng bên dưới vào tệp Manifest.xml của bạn:

XMLCopy

Xin lưu ý rằng nặc danhAuthenticationUser là một mã thông báo cụ thể sẽ xác định danh tính xác thực ẩn danh được định cấu hình của bạn.

Để cung cấp quyền truy cập Đọc vào thư mục MyAppData cho danh tính nhóm ứng dụng, hãy kết hợp lệnh bên dưới với tệp Manifest.xml:

XMLCopy

Xin lưu ý rằng setAclUser không được sử dụng ở đây. Giá trị (giá trị đặt ngoài hộp cho đây là Nhận dạng nhóm ứng dụng).

Mã thông báo nặc danhAuthenticationUser được đo thường xuyên theo danh tính mà trang web đã thiết lập và sẽ được sử dụng để xác thực ẩn danh. Mặc dù danh tính này được quản trị viên trang web thiết lập, nhưng điều tốt nhất cần làm là sử dụng nặc danhAuthenticationUser cho các ứng dụng PHP và không sử dụng setAclUser cho các ứng dụng Microsoft ASP.NET trừ ứng dụng của bạn có yêu cầu cụ thể đối với người dùng để quản lý tệp đúng).

Các ứng dụng PHP thường được thực thi với tư cách là người dùng ẩn danh do thực tế các cài đặt FastCGI thường sử dụng việc mạo danh là True (được thực thi dưới dạng người dùng ẩn danh). Các ứng dụng ASP.NET về cơ bản thực thi như nhận dạng quy trình worker (nhận dạng nhóm ứng dụng). Nếu setAclUser không được đánh vần, thì AnonymousAuthenticationUser sử dụng Danh tính nhóm ứng dụng của ứng dụng để thể hiện danh tính cho ủy quyền.

Kết luận

Danh sách FileSystemRights quy định các hành động hệ thống tệp được phép cho một tài khoản người dùng cụ thể và quy trình hệ thống tệp nào được kiểm toán cho một tài khoản người dùng cụ thể.

Sử dụng danh sách FileSystemRights khi bạn muốn tạo quy tắc truy cập với danh mục FileSystemAccessRule hoặc khi bạn muốn tạo quy tắc kiểm toán với danh mục FileSystemAuditRule.

Danh sách này được tạo thành từ rất nhiều giá trị quyền cấu trúc dạng hạt và nhiều giá trị là hỗn hợp của các giá trị dạng hạt đó. Việc sử dụng các giá trị sáp nhập như FullControl, Đọc và Viết đơn giản hơn thay vì đánh vần từng giá trị phần tử riêng lẻ.

Ảnh chụp màn hình

Cách đặt ACL thông qua tệp Manifest.xml trong IIS

Cách đặt ACL thông qua tệp Manifest.xml trong IIS

Cách đặt ACL thông qua tệp Manifest.xml trong IIS

Cách đặt ACL thông qua tệp Manifest.xml trong IIS

Kiểm tra 3 dịch vụ lưu trữ web tốt nhất này

FastComet

Giá khởi điểm:
$ 2,95


độ tin cậy
9,7


Giá cả
9,5


Thân thiện với người dùng
9,7


Ủng hộ
9,7


Đặc trưng
9,6

Đọc đánh giá

Ghé thăm FastComet

Lưu trữ A2

Giá khởi điểm:
$ 3,92


độ tin cậy
9,3


Giá cả
9.0


Thân thiện với người dùng
9,3


Ủng hộ
9,3


Đặc trưng
9,3

Đọc đánh giá

Ghé thăm Hosting A2

ChemiCloud

Giá khởi điểm:
$ 2,76


độ tin cậy
10


Giá cả
9,9


Thân thiện với người dùng
9,9


Ủng hộ
10


Đặc trưng
9,9

Đọc đánh giá

Truy cập ChemiCloud

Bài viết hướng dẫn liên quan

  • Cách cấu hình, cài đặt và triển khai ASP.NET Core vào IIS
    Trung gian
  • Cách vô hiệu hóa tính dễ bị tổn thương của phương thức tùy chọn trong IIS và Apache
    Trung gian
  • Cách triển khai ứng dụng Blazor trên IIS
    Trung gian
  • Cách thiết lập nhóm ứng dụng IIS (Windows) trong Plesk
    Trung gian
  • Cách triển khai IIS và ASP.NET với Module rối
    Trung gian
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me