Permisos octals UNIX
Donats els permisos d'un fitxer en format octal, tradueix-los a format caràcters.
La primera xifra octal indica els permisos especials: setuid, setgid i sticky. La segona xifra octal indica els permisos rwx per a l'usuari propietari del fitxer. La tercera xifra octal indica els permisos rwx per als usuaris del grup propietari del fitxer. La quarta xifra octal indica els permisos rwx per a la resta d'usuaris.
Per exemple, el nombre octal 4765 indica que els permisos especials són 4, el d'usuari 7, el de grup 6 i per als altres 5. Això es tradueix en uns permisos rwsrw-r-x
Per a traduir el permisos octals en els permisos rwx corresponents, cal passar cada xifra a binari.
Per als permisos d'usuari, grup i altres, un 0 en la primera i segona xifra binària siginifica que el permisos de lectura i espcriptura, respectivament, no es concedeixen, i un 1 que sí es concedeixen. Per al permís d'execució, un 0 significa que no es concedeix, i un 1 que sí es concedeix. A més a més, si es concedeix el permís d'execució i també i hi ha un 1 en la xifra binària especial corresponent, aleshores s'aplica el permís especial.
usuari:
r: lectura
w: escriptura
x: execució
s: setuid
S: setuid però no execució
grup:
r: lectura
w: escriptura
x: execució
s: setuid
S: setuid però no execució
altres
r: lectura
w: escriptura
x: execució
t: sticky
T: sticky però no execució
Input Format
La entrada consisteix en un nombre octal P indicant els permisos.
Constraints
0 \<= P \<= 7777
Output Format
S'imprimiran els permisos en format caràcter.
Test Case 1
Input
0
Output
---------
Test Case 2
Input
6
Output
------rw-
Test Case 3
Input
764
Output
rwxrw-r--
Test Case 4
Input
1000
Output
--------T
Test Case 5
Input
1001
Output
--------t
Test Case 6
Input
1552
Output
r-xr-x-wT
Test Case 7
Input
1553
Output
r-xr-x-wt
Test Case 8
Input
2040
Output
---r-S---
Test Case 9
Input
2050
Output
---r-s---
Test Case 10
Input
2451
Output
r--r-s--x
Test Case 11
Input
3032
Output
----ws-wT
Test Case 12
Input
3766
Output
rwxrwSrwT
Test Case 13
Input
4000
Output
--S------
Test Case 14
Input
4100
Output
--s------
Test Case 15
Input
4765
Output
rwsrw-r-x
Test Case 16
Input
5766
Output
rwsrw-rwT
Test Case 17
Input
6774
Output
rwsrwsr--
Test Case 18
Input
7000
Output
--S--S--T
Test Case 19
Input
7111
Output
--s--s--t
Test Case 20
Input
7776
Output
rwsrwsrwT
Test Case 21
Input
7777
Output
rwsrwsrwt
CC BY-NC-SA 4.0