РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1416 of 1593 menu

Функция os.Getuid

Функция os.Getuid возвращает числовой идентификатор пользователя (UID), от имени которого выполняется текущий процесс. Она не принимает никаких параметров и возвращает значение типа int. В Unix-подобных системах этот идентификатор соответствует реальному UID, указанному в файле /etc/passwd. В Windows функция всегда возвращает значение -1, так как в этой операционной системе нет концепции UID.

Синтаксис

os.Getuid()

Пример

Давайте получим идентификатор текущего пользователя:

package main import ( "fmt" "os" ) func main() { uid := os.Getuid() fmt.Println(uid) }

Результат выполнения кода:

1000

В зависимости от системы значение может отличаться. Например, для пользователя root обычно возвращается 0.

Пример

Давайте проверим, является ли текущий пользователь суперпользователем:

package main import ( "fmt" "os" ) func main() { uid := os.Getuid() if uid == 0 { fmt.Println("Пользователь root") } else { fmt.Printf("Обычный пользователь (UID: %d)\n", uid) } }

Результат выполнения кода:

"Обычный пользователь (UID: 1000)"

Пример

Давайте получим UID и имя пользователя с помощью дополнительных библиотек для наглядности:

package main import ( "fmt" "os" "os/user" ) func main() { uid := os.Getuid() usr, err := user.LookupId(fmt.Sprint(uid)) if err == nil { fmt.Printf("UID: %d, Имя: %s\n", uid, usr.Username) } else { fmt.Printf("UID: %d\n", uid) } }

Результат выполнения кода:

"UID: 1000, Имя: john"

Смотрите также

  • функцию os.Getgid,
    которая возвращает идентификатор группы текущего пользователя
  • функцию os.Getpid,
    которая возвращает идентификатор текущего процесса
  • функцию os.Getppid,
    которая возвращает идентификатор родительского процесса
  • функцию os.UserHomeDir,
    которая возвращает домашнюю директорию текущего пользователя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить