/* * Copyright (C) 2006-2008 Alfresco Software Limited. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * As a special exception to the terms and conditions of version 2.0 of * the GPL, you may redistribute this Program in connection with Free/Libre * and Open Source Software ("FLOSS") applications as described in Alfresco's * FLOSS exception. You should have recieved a copy of the text describing * the FLOSS exception, and it is also available here: * http://www.alfresco.com/legal/licensing" */ package org.alfresco.jlan.smb.nt; /** * * * @author gkspencer */ public class WellKnownRID { // Well known RIDs // // Well known users public static final int DomainUserAdmin = 0x01F4; // 500 public static final int DomainUserGuest = 0x01F5; // 501 public static final int DomainUserKrbtgt = 0x01F6; // 502 // Well known groups public static final int DomainGroupAdmins = 0x0200; // 512 public static final int DomainGroupUsers = 0x0201; // 513 public static final int DomainGroupGuests = 0x0202; // 514 public static final int DomainGroupComputers = 0x0203; // 515 public static final int DomainGroupControllers = 0x0204; // 516 public static final int DomainGroupCertAdmins = 0x0205; // 517 public static final int DomainGroupSchemaAdmins = 0x0206; // 518 // Well know aliases public static final int DomainAliasAdmins = 0x0220; // 544 public static final int DomainAliasUsers = 0x0221; // 545 public static final int DomainAliasGuests = 0x0222; // 546 public static final int DomainAliasPowerUsers = 0x0223; // 547 public static final int DomainAliasAccountOps = 0x0224; // 548 public static final int DomainAliasSystemOps = 0x0225; // 549 public static final int DomainAliasPrintOps = 0x0226; // 550 public static final int DomainAliasBackupOps = 0x0227; // 551 public static final int DomainAliasReplicator = 0x0228; // 552 /** * Check if a RID is a well known user * * @param id int * @return boolean */ public final static boolean isWellKnownUser(int id) { if ( id >= DomainUserAdmin && id <= DomainUserKrbtgt) return true; return false; } /** * Check if the RID is a well known group * * @param id int * @return boolean */ public final static boolean isWellKnownGroup(int id) { if ( id >= DomainGroupAdmins && id <= DomainGroupSchemaAdmins) return true; return false; } /** * Check if the RID is a well known alias * * @param id int * @return boolean */ public final static boolean isWellKnownAlias(int id) { if ( id >= DomainAliasAdmins && id <= DomainAliasReplicator) return true; return false; } /** * Convert a well known user id to a name * * @param id int * @return String */ public final static String getWellKnownUserName(int id) { String ret = null; switch( id) { case DomainUserAdmin: ret = "Administrator"; break; case DomainUserGuest: ret = "Guest"; break; case DomainUserKrbtgt: ret = "Krbtgt"; break; } return ret; } /** * Convert a well known group id to a name * * @param id int * @return String */ public final static String getWellKnownGroupName(int id) { String ret = null; switch( id) { case DomainGroupAdmins: ret = "Administrators"; break; case DomainGroupUsers: ret = "Users"; break; case DomainGroupGuests: ret = "Guests"; break; case DomainGroupComputers: ret = "Computers"; break; case DomainGroupControllers: ret = "Controllers"; break; case DomainGroupCertAdmins: ret = "CertificatePublishers"; break; case DomainGroupSchemaAdmins: ret = "SchemaAdministrators"; break; } return ret; } /** * Convert a well known alias id to a name * * @param id int * @return String */ public final static String getWellKnownAliasName(int id) { String ret = null; switch( id) { case DomainAliasAdmins: ret = "Administrators"; break; case DomainAliasUsers: ret = "Users"; break; case DomainAliasGuests: ret = "Guests"; break; case DomainAliasPowerUsers: ret = "PowerUsers"; break; case DomainAliasAccountOps: ret = "AccountOps"; break; case DomainAliasSystemOps: ret = "SystemOps"; break; case DomainAliasPrintOps: ret = "PrintOps"; break; case DomainAliasBackupOps: ret = "BackupOps"; break; case DomainAliasReplicator: ret = "Replicator"; break; } return ret; } }