Differenze tra le versioni di "Impostazione dei permessi di un file con la funzione 'g chmod' del API di libglib-2.0"
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
La funzione ''g_chmod()'' della libreria esterna ''libglib-2.0'' consente di impostare/modificare i permessi di un file in riferimento ai suoi tre possibili utenti: ''Proprietario'', ''Gruppo'' ed ''Altri''. | La funzione ''g_chmod()'' della libreria esterna ''libglib-2.0'' consente di impostare/modificare i permessi di un file in riferimento ai suoi tre possibili utenti: ''Proprietario'', ''Gruppo'' ed ''Altri''. | ||
− | |||
La sua sintassi è: | La sua sintassi è: | ||
Riga 8: | Riga 7: | ||
I valori attribuibili sono 4 per ciascuna classe di utenti considerata: | I valori attribuibili sono 4 per ciascuna classe di utenti considerata: | ||
* il primo (sempre zero) significa negazione di ogni permesso sul file; | * il primo (sempre zero) significa negazione di ogni permesso sul file; | ||
− | * il secondo | + | * il secondo consente la sola scrittura del file; |
* il terzo consente la sola lettura del file; | * il terzo consente la sola lettura del file; | ||
* il quarto consente la lettura e la scrittura del file. | * il quarto consente la lettura e la scrittura del file. | ||
Riga 17: | Riga 16: | ||
* i valori riferiti all'utente ''Proprietario'' sono: 0, 128, 256, 384 (quindi partendo da 0 un comando ogni 128 valori). Aggiungendo 8 ad uno dei predetti valori, si consente anche l'esecuzione del file. | * i valori riferiti all'utente ''Proprietario'' sono: 0, 128, 256, 384 (quindi partendo da 0 un comando ogni 128 valori). Aggiungendo 8 ad uno dei predetti valori, si consente anche l'esecuzione del file. | ||
+ | |||
+ | Per poter utilizzare la funzione esterna "g_chmod()", è necessario avere installata nel sistema e richiamare nel programma Gambas la libreria condivisa: "''libglib-2.0.so.0.7800.4'' ". | ||
Mostriamo alcuni esempi, nei quali - per maggiore chiarezza didattica - nel parametro ''Mode'' si porranno visibili, come addendi di una somma, i valori di tutti e tre gli utenti. | Mostriamo alcuni esempi, nei quali - per maggiore chiarezza didattica - nel parametro ''Mode'' si porranno visibili, come addendi di una somma, i valori di tutti e tre gli utenti. | ||
− | Esempio in cui si consentono a tutti e tre gli utenti sia la scrittura che la lettura, ma non l'eseguibilità di un file | + | ====Esempio in cui si consentono a tutti e tre gli utenti sia la scrittura che la lettura, ma non l'eseguibilità di un file==== |
− | Library "libglib-2.0" | + | Library "libglib-2.0:0.7800.4" |
<FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | <FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | ||
Riga 28: | Riga 29: | ||
− | + | Public Sub Main() | |
Dim err As Integer | Dim err As Integer | ||
− | + | err = g_chmod("<FONT Color=darkgreen>''/percorso/del/file''</font>", 384 + 48 + 6) | |
− | + | If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") | |
− | + | End | |
− | + | ====Esempio in cui si nega ogni azione su un file a tutti e tre gli utenti==== | |
− | + | Library "libglib-2.0:0.7800.4" | |
− | |||
− | Esempio in cui si nega ogni azione su un file a tutti e tre gli utenti | ||
− | Library "libglib-2.0" | ||
<FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | <FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | ||
Riga 47: | Riga 45: | ||
− | + | Public Sub Main() | |
Dim err As Integer | Dim err As Integer | ||
− | + | err = g_chmod("<FONT Color=darkgreen>''/percorso/del/file''</font>", 0 + 0 + 0) | |
− | + | If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") | |
− | + | End | |
− | + | ====Esempio in cui si consente la sola lettura ed eseguibilità di un file al solo utente ''Proprietario''==== | |
− | + | Library "libglib-2.0:0.7800.4" | |
− | |||
− | Esempio in cui si consente la sola lettura ed eseguibilità di un file al solo utente ''Proprietario'' | ||
− | Library "libglib-2.0" | ||
<FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | <FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | ||
Riga 66: | Riga 61: | ||
− | + | Public Sub Main() | |
Dim err As Integer | Dim err As Integer | ||
− | + | err = g_chmod("<FONT Color=gray>''/percorso/del/file''</font>", 264 + 0 + 0) | |
− | + | If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") | |
− | + | End | |
− | + | ====Esempio in cui si consente la sola lettura di un file a tutti e tre gli utenti==== | |
− | + | Library "libglib-2.0:0.7800.4" | |
− | |||
− | Esempio in cui si consente la sola lettura di un file a tutti e tre gli utenti | ||
− | Library "libglib-2.0" | ||
<FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | <FONT Color=gray>' ''int g_chmod (const gchar *filename, int mode)'' | ||
Riga 85: | Riga 77: | ||
− | + | Public Sub Main() | |
Dim err As Integer | Dim err As Integer | ||
− | + | err = g_chmod("<FONT Color=darkgreen>''/percorso/del/file''</font>", 256 + 32 + 4) | |
− | + | If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") | |
− | + | End | |
− | |||
=Riferimenti= | =Riferimenti= | ||
− | * https:// | + | * https://docs.gtk.org/gio/method.File.equal.html?q=g_chmod |
− |
Versione attuale delle 04:52, 22 mag 2024
La funzione g_chmod() della libreria esterna libglib-2.0 consente di impostare/modificare i permessi di un file in riferimento ai suoi tre possibili utenti: Proprietario, Gruppo ed Altri.
La sua sintassi è:
int g_chmod (const gchar *filename, int mode)
laddove il parametro mode è un valore intero formato dalla somma dei valori delle impostazioni dei permessi per i tre utenti.
I valori attribuibili sono 4 per ciascuna classe di utenti considerata:
- il primo (sempre zero) significa negazione di ogni permesso sul file;
- il secondo consente la sola scrittura del file;
- il terzo consente la sola lettura del file;
- il quarto consente la lettura e la scrittura del file.
In particolare:
- i valori riferiti all'utente Altri sono: 0, 2, 4, 6 (quindi partendo da 0 un comando ogni 2 valori). Aggiungendo 1 ad uno dei predetti valori, si consente anche l'esecuzione del file.
- i valori riferiti all'utente Gruppo sono: 0, 16, 32, 48 (quindi partendo da 0 un comando ogni 16 valori). Aggiungendo 8 ad uno dei predetti valori, si consente anche l'esecuzione del file.
- i valori riferiti all'utente Proprietario sono: 0, 128, 256, 384 (quindi partendo da 0 un comando ogni 128 valori). Aggiungendo 8 ad uno dei predetti valori, si consente anche l'esecuzione del file.
Per poter utilizzare la funzione esterna "g_chmod()", è necessario avere installata nel sistema e richiamare nel programma Gambas la libreria condivisa: "libglib-2.0.so.0.7800.4 ".
Mostriamo alcuni esempi, nei quali - per maggiore chiarezza didattica - nel parametro Mode si porranno visibili, come addendi di una somma, i valori di tutti e tre gli utenti.
Indice
- 1 Esempio in cui si consentono a tutti e tre gli utenti sia la scrittura che la lettura, ma non l'eseguibilità di un file
- 2 Esempio in cui si nega ogni azione su un file a tutti e tre gli utenti
- 3 Esempio in cui si consente la sola lettura ed eseguibilità di un file al solo utente Proprietario
- 4 Esempio in cui si consente la sola lettura di un file a tutti e tre gli utenti
- 5 Riferimenti
Esempio in cui si consentono a tutti e tre gli utenti sia la scrittura che la lettura, ma non l'eseguibilità di un file
Library "libglib-2.0:0.7800.4" ' int g_chmod (const gchar *filename, int mode) ' Sets the permissions of a file system object. Private Extern g_chmod(filename As String, mode As Integer) As Integer Public Sub Main() Dim err As Integer err = g_chmod("/percorso/del/file", 384 + 48 + 6) If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") End
Esempio in cui si nega ogni azione su un file a tutti e tre gli utenti
Library "libglib-2.0:0.7800.4" ' int g_chmod (const gchar *filename, int mode) ' Sets the permissions of a file system object. Private Extern g_chmod(filename As String, mode As Integer) As Integer Public Sub Main() Dim err As Integer err = g_chmod("/percorso/del/file", 0 + 0 + 0) If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") End
Esempio in cui si consente la sola lettura ed eseguibilità di un file al solo utente Proprietario
Library "libglib-2.0:0.7800.4" ' int g_chmod (const gchar *filename, int mode) ' Sets the permissions of a file system object. Private Extern g_chmod(filename As String, mode As Integer) As Integer Public Sub Main() Dim err As Integer err = g_chmod("/percorso/del/file", 264 + 0 + 0) If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") End
Esempio in cui si consente la sola lettura di un file a tutti e tre gli utenti
Library "libglib-2.0:0.7800.4" ' int g_chmod (const gchar *filename, int mode) ' Sets the permissions of a file system object. Private Extern g_chmod(filename As String, mode As Integer) As Integer Public Sub Main() Dim err As Integer err = g_chmod("/percorso/del/file", 256 + 32 + 4) If err < 0 Then Error.Raise("Impossibile modificare i permessi del file !") End