github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/os/user/user.go (about) 1 // Copyright 2011 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 /* 6 パッケージuserは、名前またはIDによるユーザーアカウントの検索を可能にします。 7 8 ほとんどのUnixシステムでは、このパッケージにはユーザーとグループのIDを名前に解決し、 9 補足的なグループIDをリストアップするための2つの内部実装があります。 10 一つは純粋なGoで書かれており、/etc/passwdと/etc/groupを解析します。 11 もう一つはcgoベースで、getpwuid_r、getgrnam_r、getgrouplistなどの 12 標準Cライブラリ(libc)のルーチンに依存しています。 13 14 cgoが利用可能で、特定のプラットフォームのlibcに必要なルーチンが実装されている場合、 15 cgoベース(libcバックエンド)のコードが使用されます。 16 これは、純粋なGoの実装を強制するosusergoビルドタグを使用することで上書きすることができます。 17 */ 18 package user 19 20 // Userはユーザーアカウントを表します。 21 type User struct { 22 // UidはユーザーIDです。 23 // POSIXシステムでは、これはuidを表す10進数です。 24 // Windowsでは、これは文字列形式のセキュリティ識別子(SID)です。 25 // Plan 9では、これは/dev/userの内容です。 26 Uid string 27 // GidはプライマリグループIDです。 28 // POSIXシステムでは、これはgidを表す10進数です。 29 // Windowsでは、これは文字列形式のセキュリティ識別子(SID)です。 30 // Plan 9では、これは/dev/userの内容です。 31 Gid string 32 // Usernameはログイン名です。 33 Username string 34 // Nameはユーザーの実名または表示名です。 35 // 空である可能性があります。 36 // POSIXシステムでは、これはGECOSフィールドリストの最初(または唯一)のエントリです。 37 // Windowsでは、これはユーザーの表示名です。 38 // Plan 9では、これは/dev/userの内容です。 39 Name string 40 // HomeDirはユーザーのホームディレクトリへのパスです(もし存在する場合)。 41 HomeDir string 42 } 43 44 // Groupはユーザーのグループを表します。 45 // 46 // POSIXシステムでは、GidはグループIDを表す10進数を含みます。 47 type Group struct { 48 Gid string 49 Name string 50 } 51 52 // UnknownUserIdErrorは、ユーザーが見つからない場合に [LookupId] によって返されるエラーです。 53 type UnknownUserIdError int 54 55 func (e UnknownUserIdError) Error() string 56 57 // UnknownUserErrorは、ユーザーが見つからない場合に [Lookup] によって返されるエラーです。 58 type UnknownUserError string 59 60 func (e UnknownUserError) Error() string 61 62 // UnknownGroupIdErrorは、グループが見つからない場合に [LookupGroupId] によって返されるエラーです。 63 type UnknownGroupIdError string 64 65 func (e UnknownGroupIdError) Error() string 66 67 // UnknownGroupErrorは、グループが見つからない場合に [LookupGroup] によって返されるエラーです。 68 type UnknownGroupError string 69 70 func (e UnknownGroupError) Error() string