Функция os.Chmod
Функция os.Chmod изменяет права доступа к файлу или директории.
В первый параметр передается путь к файлу в виде строки, во второй параметр — битовая маска прав доступа типа os.FileMode.
Функция возвращает ошибку, если операция не удалась.
Обычно права задаются в восьмеричной системе, например, 0644.
Синтаксис
err := os.Chmod(name string, mode FileMode) error
Пример
Давайте изменим права доступа файла так, чтобы владелец мог читать и записывать, а группа и все остальные — только читать:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Chmod("file.txt", 0644)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Permissions changed successfully")
}
Результат выполнения кода:
"Permissions changed successfully"
Пример
Давайте сделаем файл исполняемым для владельца, добавив права на выполнение:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Chmod("script.sh", 0700)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Executable permission added")
}
Результат выполнения кода:
"Executable permission added"
Пример
Давайте попробуем изменить права у несуществующего файла, чтобы увидеть ошибку:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Chmod("missing.txt", 0644)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Success")
}
Результат выполнения кода:
"chmod missing.txt: no such file or directory"
Смотрите также
-
функцию
os.Open,
которая открывает файл для чтения -
функцию
os.Chown,
которая изменяет владельца файла -
функцию
os.Chtimes,
которая изменяет время доступа и изменения файла -
функцию
os.FileMode,
которая описывает битовую маску прав доступа к файлу