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