Uprawnienia i atrybuty plików systemu Windows

15

Jestem trochę zdezorientowany co do całego schematu bezpieczeństwa plików Windows. Pochodzę z unixowego środowiska, więc nie do końca rozumiem związek między uprawnieniami do plików / ustawieniami zabezpieczeń a atrybutami; konkretnie tylko do odczytu, jaki może mieć plik.

Na przykład, jeśli zaloguję się jako administrator w swoim polu i mam plik, który pozwala administratorom na pełną kontrolę, ale ustawiono atrybut tylko do odczytu, co oznacza, że ​​nie mogę zapisać do tego pliku? Czy jest jakiś sposób oprócz usunięcia atrybutu „tylko do odczytu”, który mogę zapisać do plików, nad którymi podobno mam pełną kontrolę? Jeśli nie, to jaka jest zaleta posiadania pełnej kontroli, jeśli tak naprawdę nie masz pełnej kontroli?

prelic
źródło
1
Fantastyczne pytanie
Jim B,
Atrybuty plików Windows są analogiczne do Uniksowych flag plików
Chris S
Zredagowałem to, aby było bardziej ogólne, ponieważ zasady te dotyczą wszystkich nowoczesnych wersji systemu Windows, nie tylko Server 2003.
MDMarra
Tak naprawdę można być innym w 2012 roku i wyżej
Jim B

Odpowiedzi:

16

Uprawnienia do plików decydują o tym, jaki masz dostęp do pliku - tak jak to brzmi. Pełna kontrola pozwala tworzyć, usuwać, dołączać, zmieniać uprawnienia, zmieniać atrybuty itp.

Pliki i foldery mogą mieć dodatkowe atrybuty, podobnie jak pliki w większości systemów plików * nix. „Ukryty” przychodzi mi na myśl na obu platformach.

W systemie Windows niektóre dodatkowe atrybuty obejmują system, tylko do odczytu, archiwizują, szyfrują i kompresują. Gdy masz pełną kontrolę (lub modyfikację), możesz zmienić te atrybuty, ale jak już odkryłeś, plik tylko do odczytu jest tylko do odczytu, nawet dla osoby z pełną kontrolą. Chociaż pełna kontrola daje możliwość zmiany atrybutów pliku, nie zastępuje ich automatycznie, podobnie jak lsdomyślnie nie pokazuje użytkownikowi root ukrytego pliku w * nix.

MDMarra
źródło
Nie ma czegoś takiego jak „ukryty” plik NTFS korzystający z atrybutu. Pliki można ukryć za pomocą strumieni. NTFS obsługuje dowolne atrybuty wymagane przez dowolną aplikację korzystającą z pola rozszerzonych atrybutów ($ EA), dlatego możesz przechowywać uprawnienia do plików unix w systemie plików NTFS
Jim B
6
Nie powiedziałem, że „ukryty” jest funkcją NTFS w dowolnym miejscu, ale „ukryty” jest z pewnością atrybutem, który można ustawić w pliku lub folderze. Naprawdę nie mam pojęcia, o co ci chodzi.
MDMarra,
Co to za ukryty atrybut w Uniksie?
Edward Thomson,
Ukryty był prawdopodobnie kiepskim przykładem, ale zilustrował mój punkt widzenia. Nie ma „ukrytego” atrybutu jako takiego, tylko pliki z prefiksem kropki. Omawiane atrybuty plików systemu Windows są w rzeczywistości bardziej podobne do flag plików w unixie : freebsd.org/cgi/man.cgi?query=chflags&sektion=1 .
MDMarra,
4

Zezwolenie to kontrola bezpieczeństwa. Atrybut ma zastosowanie niezależnie od podmiotu zabezpieczeń podejmującego próbę operacji.

Istnieje o wiele więcej atrybutów niż w wierszu polecenia. Należą do nich, jeśli plik jest łączem, zaszyfrowanym, katalogiem (typ pliku) i integralnością (niski, średni lub wysoki).

Stałe atrybutu pliku
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

Plik lub katalog będący plikiem lub katalogiem archiwalnym. Aplikacje zwykle używają tego atrybutu do oznaczania plików do utworzenia kopii zapasowej lub usunięcia.

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

Skompresowany plik lub katalog. W przypadku pliku wszystkie dane w pliku są kompresowane. W przypadku katalogu kompresja jest domyślna dla nowo tworzonych plików i podkatalogów.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

Ta wartość jest zarezerwowana do użytku systemu.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

Uchwyt identyfikujący katalog.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

Plik lub katalog, który jest zaszyfrowany. W przypadku pliku wszystkie strumienie danych w pliku są szyfrowane. W przypadku katalogu szyfrowanie jest domyślnym ustawieniem dla nowo tworzonych plików i podkatalogów.

FILE_ATTRIBUTE_HIDDEN2 (0x2) Plik lub katalog jest ukryty. Nie jest uwzględniony w zwykłej liście katalogów.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

Katalog lub strumień danych użytkownika jest skonfigurowany z zachowaniem integralności (obsługiwany tylko w woluminach ReFS). Nie jest uwzględniony w zwykłej liście katalogów. Ustawienie integralności pozostaje w pliku, jeśli zostanie zmieniona jego nazwa. Jeśli plik zostanie skopiowany, plik docelowy będzie miał ustawiony zestaw integralności, jeśli plik źródłowy lub katalog docelowy mają ustawiony zestaw integralności.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta flaga jest obsługiwana dopiero w systemie Windows Server 2012.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

Plik, w którym nie ustawiono innych atrybutów. Ten atrybut jest ważny tylko wtedy, gdy jest używany samodzielnie.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

Plik lub katalog nie może być indeksowany przez usługę indeksowania treści.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

Strumień danych użytkownika nie do odczytania przez skaner integralności danych w tle (skruber AKA). Po ustawieniu w katalogu zapewnia tylko dziedziczenie. Ta flaga jest obsługiwana tylko w woluminach Miejsca do magazynowania i ReFS. Nie jest uwzględniony w zwykłej liście katalogów.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta flaga jest obsługiwana dopiero w systemach Windows 8 i Windows Server 2012.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

Dane pliku nie są dostępne natychmiast. Ten atrybut wskazuje, że dane pliku są fizycznie przenoszone do pamięci offline. Ten atrybut jest używany przez Magazyn zdalny, który jest hierarchicznym oprogramowaniem do zarządzania pamięcią. Aplikacje nie powinny arbitralnie zmieniać tego atrybutu.

FILE_ATTRIBUTE_READONLY 1 (0x1)

Plik tylko do odczytu. Aplikacje mogą odczytać plik, ale nie mogą do niego zapisać ani go usunąć. Ten atrybut nie jest uwzględniany w katalogach. Aby uzyskać więcej informacji, zobacz Nie można wyświetlić ani zmienić atrybutów Tylko do odczytu lub Systemowych folderów w systemie Windows Server 2003, Windows XP, Windows Vista lub Windows 7.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

Plik lub katalog, który ma powiązany punkt ponownej analizy lub plik, który jest dowiązaniem symbolicznym.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

Plik, który jest plikiem rzadkim.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

Plik lub katalog, z którego system operacyjny korzysta lub korzysta wyłącznie.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

Plik używany do tymczasowego przechowywania. Systemy plików unikają zapisywania danych z powrotem do pamięci masowej, jeśli dostępna jest wystarczająca ilość pamięci podręcznej, ponieważ zazwyczaj aplikacja usuwa plik tymczasowy po zamknięciu uchwytu. W tym scenariuszu system może całkowicie uniknąć zapisywania danych. W przeciwnym razie dane są zapisywane po zamknięciu uchwytu.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

Ta wartość jest zarezerwowana do użytku systemu.

Greg Askew
źródło
To nie odpowiada dokładnie na pytanie. Zastanawiali się, dlaczego tylko do odczytu zastępuje przywilej „pełnej kontroli”. Te atrybuty są używane w programach.
Nathan C
1
Zmieszałeś także atrybuty FAT i NTFS - nie jest to już duża różnica, ale są chwile, kiedy rozróżnienie jest bardzo ważne.
Chris S
1
@Nathan C. To także dokładnie odpowiada na pytanie. Tylko do odczytu nie zastępuje pełnej kontroli. Jak mówi odpowiedź: „Atrybut ma zastosowanie bez względu na podmiot zabezpieczeń podejmujący próbę wykonania operacji”. Jednak, jak zauważył Chris S, opcjonalne atrybuty starsze są mieszane z atrybutami NTFS.
Jim B
-6

Podam dłuższą odpowiedź, ale ogólnie atrybuty, o których mowa, to starsze ustawienia pliku z czasów systemu plików DOS FAT. FAT przechowuje te atrybuty jako część pozycji katalogu systemu plików dla pliku. NTFS ma własny zestaw atrybutów, które zawierają starsze atrybuty. Domyślnie każdy użytkownik z dostępem do pliku może je modyfikować i może być używany do zapobiegania przypadkowemu nadpisaniu danych.

Uprawnienia są specyficzne dla systemu plików NTFS, a zmiany tych uprawnień mogą być kontrolowane dla poszczególnych użytkowników (dzięki czemu użytkownik nie może zmienić z tylko do odczytu na zapisywalny). W szczególności, jeśli spojrzysz na polecenie attrib (które pokazuje zarówno starsze, jak i nowe dodatki do atrybutów, takie jak integralność w późniejszych wersjach systemu Windows), możliwe jest ustawienie dostępu tylko do odczytu w uprawnieniach, ale nie ustawianie tylko atrybutów do odczytu. Interesujące jest również (jeśli nie ważne) zrozumienie, że ze względu na abstrakcję technicznie możliwe jest włączenie starszych atrybutów (przechowywanych w atrybucie NTFS $ standard_information) bez konieczności ich wyświetlania w normalnym GUI.

W szczególności pełne uprawnienia kontrolne umożliwiają zmianę dowolnych uprawnień NTFS. Ustawienie atrybutu tylko do odczytu zapobiega zmianom, dopóki nie zostanie on usunięty.

Atrybuty FAT będą miały pierwszeństwo przed atrybutami NTFS w systemie Windows.

Jim B.
źródło
3
in general attributes are legacy settings- Czy masz na to źródło, ponieważ uważam, że to stwierdzenie jest nieprawidłowe. Uzupełniają uprawnienia systemu plików - nie zostały przez nich zastąpione ani zastąpione. W standardowych uprawnieniach nie ma nic, co zastąpiłoby funkcjonalność ukrytego, archiwizującego lub systemowego.
MDMarra,
1
Any user can modify them and can be used to prevent accidental overwrites of data.Jest to również niepoprawne pod względem faktycznym. Tylko użytkownicy z „zapisz atrybut” do pliku lub katalogu mogą zmieniać atrybuty tego obiektu.
MDMarra,
1
i.stack.imgur.com/2fhEr.png w celu uzyskania wyjaśnień.
Nathan C
2
Jim, poświęć chwilę, aby spojrzeć na to od samego początku. Zaszedłeś tak daleko w dół tej króliczej „atrybutu NTFS”, że zapomniałeś, że tylko ty mówisz o atrybutach NTFS. OP wyraźnie mówi o globalnych atrybutach plików, takich jak „Ukryty” i „Tylko do odczytu”. W pytaniu wyraźnie wspomina „Tylko do odczytu”. Nie mogę powiedzieć, czy starasz się być pedantyczny i upadasz, czy też słusznie przegapiłeś ten punkt. Tak, wiemy, atrybuty NTFS (rozszerzone) nie są takie same jak globalne (w stylu FAT) atrybuty pliku / folderu. Nikt tego nie twierdzi.
MDMarra,
3
Myślę, że wyraźnie tęskniłeś za duchem i intencją tego pytania i starasz się przyjąć postawę, która jest z jednej strony niepoprawna, a z jednej strony niepomocna. Wyraźnie pokazałeś, że wiesz, jak działają atrybuty NTFS, jednak nikt o nie nie pytał i nikt nie użył ich w odpowiedzi . Jeśli próbujesz pochwalić się swoją wiedzą na temat atrybutów NTFS, masz się dobrze. Problem polega na tym, że całkowicie nie trafiłeś w sedno pytania.
MDMarra,