Uprawnienia do plików
Zaadaptowano z bezpłatnej odpowiedzi na pytanie „Carla” z UIL - Computer Science Programming dla dystryktu 2018.
Wprowadzenie
W systemach operacyjnych typu UNIX każdy plik, katalog lub łącze jest „własnością” „użytkownika”, który jest członkiem „grupy” i ma pewne „uprawnienia” reprezentowane przez ciąg dziesięciu znaków, taki jak „ drwxrwxrwx ". Pierwszym znakiem jest „d”, „-” lub „l” (katalog, plik lub link), a następnie trzy zestawy wartości „rwx”, wskazujące uprawnienia „odczyt, zapis, wykonanie”. Pierwszy zestaw to prawa użytkownika, środkowy zestaw prawa grupy, a trzeci prawa wszystkich innych do tego obiektu.
Odmowa dostępu do któregokolwiek z tych praw jest reprezentowana przez „-” zamiast „r”, „w” lub „x”. Na przykład przykładowy ciąg uprawnień do katalogu to „drwxr - r--”, wskazujący pełne uprawnienia do katalogu dla użytkownika, ale uprawnienia „tylko do odczytu” dla członka grupy i wszystkich innych.
Każda kombinacja „rwx” może być również reprezentowana przez wartość ósemkową (0–7) z najbardziej znaczącym bitem reprezentującym uprawnienie do odczytu, kolejnym najbardziej znaczącym bitem reprezentującym uprawnienie do zapisu i najmniej znaczącym bitem reprezentującym uprawnienie do wykonania.
Wyzwanie
Biorąc pod uwagę czteroznakowy ciąg kodu składający się ze znaku: „D”, „F” lub „L”, po którym następuje trzycyfrowa liczba ósemkowa, np. 664, zwraca wynikowy ciąg 10 znaków reprezentujący wartość uprawnień wskazany.
Wkład
Twój program lub funkcja może albo odczytać dane wejściowe ze standardowego wejścia (zostaną wprowadzone cztery znaki, opcjonalnie po nich nowa linia), albo przekazać dane wejściowe jako argument.
Twój program może przyjmować duże lub małe litery, ale musi być spójny (wszystkie dane wejściowe są pisane wielkimi literami lub wszystkie dane wejściowe są pisane małymi literami).
Wydajność
Twój program musi wydrukować wynikowy ciąg dziesięciu znaków reprezentujący wartość uprawnień wskazaną w dokładnie określonym formacie określonym powyżej. Dozwolone jest ogonowanie białych znaków.
Przypadki testowe
W: F664OUT: -rw-rw-r--
IN: D775OUT: drwxrwxr-x
IN: L334OUT: l-wx-wxr--
IN: F530OUT: -r-x-wx---
w: D127Out:d--x-w-rwx
Punktacja i zasady
- Standardowe otwory na pętle są zabronione.
- Obowiązują standardowe zasady .
- Podaj link, aby przetestować kod, a także wyjaśnienie.
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach!