1 21 22 package com.izforge.izpack.util.os.unix; 23 24 import java.util.StringTokenizer ; 25 26 27 33 public class UnixUser 34 { 35 37 38 private String itsName; 39 40 41 private String itsPasswdDigest; 42 43 44 private String itsId; 45 46 47 private String itsGid; 48 49 50 private String itsDescription; 51 52 53 private String itsHome; 54 55 56 private String itsShell; 57 58 60 65 public String getName( ) 66 { 67 return itsName; 68 } 69 70 75 public String getPasswdDigest( ) 76 { 77 return itsPasswdDigest; 78 } 79 80 85 public String getId( ) 86 { 87 return itsId; 88 } 89 90 95 public String getGid( ) 96 { 97 return itsGid; 98 } 99 100 105 public String getDescription( ) 106 { 107 return itsDescription; 108 } 109 110 115 public String getHome( ) 116 { 117 return itsHome; 118 } 119 120 125 public String getShell( ) 126 { 127 return itsShell; 128 } 129 130 137 public UnixUser fromEtcPasswdLine( String anEtcPasswdLine ) 138 { 139 if( anEtcPasswdLine == null ) 140 { 141 return null; 142 } 143 144 StringTokenizer usersToken = new StringTokenizer ( anEtcPasswdLine, ":" ); 145 146 UnixUser u = new UnixUser( ); 147 148 if( usersToken.hasMoreTokens( ) ) 149 { 150 u.itsName = usersToken.nextToken( ); 151 } 152 153 if( usersToken.hasMoreTokens( ) ) 154 { 155 u.itsPasswdDigest = usersToken.nextToken( ); 156 } 157 158 if( usersToken.hasMoreTokens( ) ) 159 { 160 u.itsId = usersToken.nextToken( ); 161 } 162 163 if( usersToken.hasMoreTokens( ) ) 164 { 165 u.itsGid = usersToken.nextToken( ); 166 } 167 168 if( usersToken.hasMoreTokens( ) ) 169 { 170 u.itsDescription = usersToken.nextToken( ); 171 } 172 173 if( usersToken.hasMoreTokens( ) ) 174 { 175 u.itsHome = usersToken.nextToken( ); 176 } 177 178 if( usersToken.hasMoreTokens( ) ) 179 { 180 u.itsShell = usersToken.nextToken( ); 181 } 182 183 return u; 184 } 185 186 191 public String toString( ) 192 { 193 StringBuffer result = new StringBuffer ( ); 194 195 result.append( "User: " ); 196 result.append( itsName ); 197 198 result.append( " X: " ); 199 result.append( itsPasswdDigest ); 200 201 result.append( " Id: " ); 202 result.append( itsId ); 203 204 result.append( " Gid: " ); 205 result.append( itsGid ); 206 207 result.append( " Desc.: " ); 208 result.append( itsDescription ); 209 210 result.append( " Home: " ); 211 result.append( itsHome ); 212 213 result.append( " Shell: " ); 214 result.append( itsShell ); 215 216 return result.toString( ); 217 } 218 219 224 public static void main( String [] args ) 225 { 226 System.out.println( new UnixUser( ).fromEtcPasswdLine( "" ) ); 227 System.out.println( new UnixUser( ).fromEtcPasswdLine( "eppelmann.local:x:500:100:Marc L Eppelmann:/mnt/local/home/eppelmann.local:/bin/bash" ) ); 228 } 229 } 230 | Popular Tags |