Onofficieel handleiding voor beveiliging in Microsoft Dynamics SL 7.0


Dit document AS-IS en is bedoeld om te helpen bij het begrijpen van de structuur van de beveiliging van de SL 7.0-databases. Feedback is Welkom op dit document, fouten of omissies niet een defect product vormen.  

De informatie in dit document afkomstig is van de naleving van de databasestructuur in SQL Management Studio en sporen van verschillende processen worden uitgevoerd in SQL Profiler. Is geen informatie die is afgeleid van de gecompileerde broncode opgenomen.

Tenzij anders vermeld, is het gebruik van 'Windows-verificatie' uitgaande van de informatie in dit document.

 

 

Inhoud:

SQL-gebruikers en rollen:

07718158D19D4f5f9D23B55DBF5DF1- Ook bekend als de "de supergebruiker entiteit". Deze account als uitgeschakeld moet worden weergegeven.  Deze aanmelding is gemaakt door Databaseonderhoud als "niet-interactief", wat betekent dat u kunt niet aanmelden met deze aanmeldingsaccount.  Het wordt alleen gebruikt voor imitatie in SL.

Deze gebruikersnaam wordt gebruikt als één opgeslagen procedure moet toegang krijgen tot objecten in de database systeem SL- en SL. De pp_cleanwrkrelease opgeslagen procedure is een goed voorbeeld. Deze procedure wordt een delete-instructie uitgevoerd uit een tabel in de database van de toepassing van de Lineaire op basis van gegevens in de Access-tabel in de database van SL. (De opgeslagen procedure wordt met behulp van de weergave van VS_Access in de app-database naar de Access-tabel). Binnen de procedure, is een instructie die er als volgt uit:

MET uitvoeren als '07718158D19D4f5f9D23B55DBF5DF1'

Dit geeft aan dat in plaats van onze windows-aanmelding die in zijn rechten uit de rol van de toepassing MSDSL haalt, gaan we de 07718158D19D4f5f9D23B55DBF5DF1 gebruiker imiteren bij het uitvoeren van deze ene proc. dit is nodig omdat de rollen van de SQL-toepassing (zoals MSDSL) werken niet in databases. Als de imitatie 'Met uitvoeren' kan niet worden gebruikt, krijgen we de volgende fout:

---------------------------
SQL Server-bericht 916
---------------------------
De server principal 'domein\gebruikersnaam' kan geen toegang tot de database 'SLSYS' onder de huidige beveiligingscontext.
---------------------------
OK  
---------------------------

De 07718158D19D4f5f9D23B55DBF5DF1-gebruiker heeft toegang tot de meeste van de vs_-weergaven en een paar van de tabellen in de database van de toepassing van de SL en de meeste van de tabellen in de database van SL. / De imitatie van deze gebruiker 07718158D19D4f5f9D23B55DBF5DF1 heeft tevens betrekking terug naar de eigenaar van de database door het koppelen van eigendom. De eigenaar van de Lineaire systeem- en SL-databases moet overeenkomen met... zo niet, dan ontvangt u deze fout:

---------------------------
SQL Server-bericht 916
---------------------------
De server-principal '07718158D19D4f5f9D23B55DBF5DF1' kan geen toegang tot de database 'SLSYS' in de beveiligingscontext van de huidige.
---------------------------
OK  
---------------------------

Het werkt niet, die de eigenaar van de database zolang alle van uw toepassing SL is van belang en systeemdatabases SL dezelfde eigenaar hebben. Zie 'Database-eigenaar' voor meer informatie. Zie ook http://msdn2.microsoft.com/en-us/library/ms188676.aspx voor meer informatie over het koppelen van eigendom.

 

E7F575915A2E4897A517779C0DD7CE- Ook wel bekend als "Het rapport gebruiker". Deze gebruikers-ID naast de ODBC-verbinding en uw windows-gebruikers-ID wordt gebruikt voor het uitvoeren van Crystal Reports. De gebruiker lijkt te hebben Selecteer rechten op alle tabellen en weergaven en rechten voor alle opgeslagen procedures uitvoeren in het Lineaire systeem- en SL-databases.  

De gebruiker moet beschikken over rechten voor alle aangepaste objecten gebruikt in een aangepast rapport selecteren/uitvoeren of u krijgt de volgende fout:

---------------------------
Crystal Reports helptoepassing voor Solomon IV
---------------------------
Get SQL-Query is mislukt

Rapport: C:\Program Files\Microsoft Dynamics SL\Usr_Rpts\03730DET. RPT

Crystal Print Engine-fout: 709 - Fout in het bestand C:\Program Files\Microsoft Dynamics SL\Usr_Rpts\03730DET. RPT:

De tabel kan niet worden gevonden.
---------------------------
OK  
---------------------------

Als de account is uitgeschakeld of als het wachtwoord van de account is gewijzigd, het volgende foutbericht wordt wanneer u een rapport uitvoert:

---------------------------
Crystal Reports helptoepassing voor Solomon IV
---------------------------
Get SQL-Query is mislukt

Rapport: C:\Program Files\Microsoft Dynamics\SL\Applications\GL\01650.RPT

Crystal Print Engine-fout: 536 - fout in het bestand C:\Program Files\Microsoft Dynamics\SL\Applications\GL\01650.RPT:

Kan geen verbinding maken: onjuiste aanmelden parameters.
---------------------------
OK  
---------------------------

 

MASTER60SP- De master gebruiker SL 6.0 SP1 - SL 6.5 beveiligingsmodel. Deze gebruiker wordt nog steeds gebruikt als SL 7.0 onder 'SQL-verificatie' uitgevoerd. In de database van een windows-verificatie, deze gebruiker meestal bestaat niet en wordt niet gebruikt. De gebruiker is ongeveer het equivalent van de 'Master' gebruiker in SL 6.0 en oudere.

In een niet-windows-geverifieerde database is de master60sp-gebruiker de eigenaar van de SL-toepassings- en SL-database, waardoor het volledige controle over alle objecten in deze databases. Alle interactie tussen de SL-schermen en rapporten gebeurt met de gebruiker master60sp... de windows-gebruiker-ID wordt helemaal niet gebruikt. Het wachtwoord van deze gebruiker kan worden gewijzigd door te gaan naar het scherm databasebeheer (98.270.00) in SL.

De gebruiker wordt ook wel gebruikt in FRx. dit kan een probleem zijn omdat in de database van een windows-verificatie, de master60sp gebruiker bestaat niet. KB 941591 wordt uitgelegd hoe u dit probleem omzeilen.

 

Gebruiker van CD7359B5576446f85EB67E824B4770- De 'een' gebruiker SL 6.0 SP1 - 6.5-beveiligingsmodel. Deze gebruiker wordt ook gebruikt als SL 7.0 onder 'SQL-verificatie' uitgevoerd. In een SL 7.0 geverifieerde windows database, deze gebruiker meestal bestaat niet en wordt niet gebruikt. De gebruiker is ongeveer het equivalent van de gebruiker "MasterRO" in SL 6.0 en ouder.

De gebruiker alleen heeft toegang tot de database. Mogen geen rechten op de database van de toepassing of u kunt het probleem dat wordt beschreven in KB 896321. Kan uit verschillende tabellen selecteren en verschillende opgeslagen procedures uitvoeren. Kunt ook invoegen, bijwerken of verwijderen van de domein- en rptextra.  

Tijdens het aanmelden is voor de gebruiker CD7359B5576446f85EB67E824B4770 de volgende taken uitvoert:

  • Controleert of de versie van SQL
  • Controleert of de versie van de Database SL
  • Controles voor registratiesleutels
  • Met deze eigenschap wordt een lijst met bedrijven in de database
  • De verwerking voor de gebruiker master60sp afgehandeld

 

Databaserol MSDynamicsSL- SL alle gebruikers zijn lid van deze rol. De rol in de database voor SL uitvoeringsmachtigingen heeft voor de getAuthenticationType, GetInfo, en getVersion opgeslagen procedures in de database. Heeft geen machtigingen voor de rol in de toepassingsdatabase SL. Niet bekend is wat deze rol fungeert in de toepassingsdatabase SL doel. Als gebruikers niet een lid van de databaserol MSDynamicsSL op het systeem SL DB of als de databaserol MSDynamicsSL op het systeem SL geen machtiging voor uitvoeren om de getauthenticationtype heeft opgeslagen procedure, klik op aanmelden. Wanneer niet-administrators aanmelden bij SL. EXE loopt

 

De toepassingsrol MSDSL- Heeft deze functie beheer-rechten voor alle objecten in de database.  

Het belang van dit wordt een 'application' rol in plaats van een normale 'database' rol is toegewezen rechten zijn alleen geldig wanneer de database van de SL- toepassingte openen. Dus ook als de gebruiker recht op een nieuw account toevoegen aan het scherm van de grafiek van rekeningen onderhoud in SL hebben mogelijk, zij geen recht hebben op een INSERT-opdracht uitvoeren op de tabel in SQL Server Management Studio.

De rol is een specifieke database... wat betekent dat de MSDSL rol in de ene database is niet dezelfde rol als de rol van MSDSL in een andere database, hoewel ze de naam hetzelfde is. De rol van 'MSDSL' in de toepassingsdatabase SL toegangsrechten heeft over de objecten in die database. En de rol van 'MSDSL' in de database voor SL toegangsrechten heeft over de objecten in de database.  

Als het wachtwoord voor deze rol onjuist is, kan dit leiden tot de volgende fout tijdens aanmelden (de eigenaar synchroniseren en beveiliging scenario corrigeert het probleem tenzij er meerdere SL-systeemdatabases die naar dezelfde database van de toepassing verwijzen):

---------------------------
AANMELDEN
---------------------------
Fatale SQL fout 15161 tijdens het bedrijf aanmelden
---------------------------
OK  
---------------------------

Als de fout niet wordt opgelost door het scenario sync, moet vervolgens handmatig Doorloop elke database op de SQL server en voer de volgende om te zien als er zich meerdere systeem DBs dezelfde App DB aan te wijzen.  Als dit het geval een van de DBs systeem moet worden verwijderd of ten minste unliked vanuit de app DB.

SelecteerDatabasenaam, * Vandomein
SelecteerDatabasenaam, * Vanbedrijf

Domein\gebruikersnaam- Een andere wijziging in 7.0 is dat windows-aanmeldingen van de gebruiker nu worden toegevoegd aan de SQL-Database. Ziet u deze in SQL Management Studio door uit te breiden op een van de Databases SL -> Beveiliging -> gebruikers. De gebruikersaccounts hoeft niet een van hun eigen toegangsrechten; ze krijgen een aantal rechten door lid te zijn van de rol van MSDynamicsSL, maar de rechten worden voornamelijk verleend door SL met behulp van de functie van de toepassing MSDSL. De uitzondering is als de gebruiker lid van de groep Administrators SL is. De discussie in 'Lineaire groepen' hieronder voor meer info Zie.

Doordat de gebruikersaccounts in SQL, hebben de gebruikers machtigingen voor aanmelding bij SQL Server Management Studio zonder te weten het wachtwoord "sa". Gelukkig omdat toepassingsrollen worden gebruikt, zij hebben geen machtiging eigenlijk niets te doen een keer aangemeld in.

 

BusinessPortalUser- Deze SQL Server-gebruiker wordt gemaakt bij het installeren van Business Portal. Wordt gebruikt voor de interactie tussen business portal en SQL. Heeft geen rechten zelf. Wordt de stroom uit als lid van de databaserol BFGROUP.  

 

Databaserol BFGROUP- Deze rol 'SELECT, UPDATE, INSERT, DELETE' machtigen om alle SL-objecten wordt gebruikt. De BusinessPortalUser het enige lid van deze rol moet worden. Af en toe de rol niet over de juiste toegangsrechten voor verschillende objecten die fouten in business portal veroorzaken. Voor meer informatie Zie KB 906715.

SL-groepen:

De groep Administrators- Zoals de naam al aangeeft, wordt een lid van deze groep geeft de gebruiker beheerdersrechten in SL. een lid van de groep wordt het equivalent van de 'SYSADMIN' gebruiker in eerdere versies. Geen individuele rechten zijn toegewezen aan de groep 'beheerders' in het scherm Access Rights onderhoud... in plaats daarvan als lid van deze groep automatisch heeft volledige rechten voor alle schermen en rapporten.

Als lid van de groep Administrators, kunt ook enkele extra bevoegdheden:

  • Alleen beheerders wordt de standaard 'Administration' module groep in het menu weergegeven
  • Alleen beheerders kunnen nieuwe gebruikers aan het systeem toevoegen
  • Beheerders krijgen automatisch ook de 'sysadmin' serverrol op de SQL Server. Dit is belangrijk te weten, omdat de gebruiker nu mogelijk te melden bij SQL Server Management Studio en alle taken uitvoeren op de database.
    • Opmerking: Maximaal debat of dit is verbeterd/gewijzigd in 7.0 Fp1 met de ' deze gebruikersmachtiging verlenen voor het maken van SQL server-aanmeldingen en gebruikers"

Daarom moet het lidmaatschap van deze groep beperkt tot alleen gebruikers die absoluut nodig hebt.

 

Groep Iedereen- In strijd met wat de naam al impliceert, alle gebruikers zijn niet automatisch lid van de 'iedereen' groep. Moet u handmatig nieuwe gebruikers toevoegen aan iedereen groep. Deze groep wordt standaard gebruikt om gebruikers te voorzien het menu standaard. De groep biedt geen enkel recht van toegang standaard.

Het synchroniseren van alle eigendom & Security Update Scenario:

Dit scenario in Databaseonderhoud (98.290.00) kan een groot aantal problemen oplossen en moet de eerste stap bij het oplossen van elke vorm van beveiliging of verwant actie-item aanmelden. Wanneer het scenario wordt uitgevoerd, waarmee wordt gesynchroniseerd alle databases op de server ongeacht welke een is geselecteerd in het Databaseonderhoud. Hier vindt u de details van het proces:

· Windows geverifieerd Databases

o   Hiermee stelt u de eigenaar van de DB

§  De eigenaar wordt in 7.0 ingesteld op de aanmeldings-ID aan te melden bij het Databaseonderhoud gebruikt.  

§  In 7.0 SP1 is de eigenaar ingesteld op 'sa'

o   Hiermee maakt u de 07718158D19D4f5f9D23B55DBF5DF1 en E7F575915A2E4897A517779C0DD7CE gebruikers op de SQL Server alleen als deze ontbreken.

o   Verbreekt en vervolgens opnieuw wordt de gebruiker E7F575915A2E4897A517779C0DD7CE uit de Lineaire systeem- en SL-databases.

o   Aan de E7F575915A2E4897A517779C0DD7CE gebruiker rechten ontlenen.

o   Aan de 07718158D19D4f5f9D23B55DBF5DF1 gebruiker rechten ontlenen.

o   De betrouwbare eigenschap ingesteld op de SL-systeem- en SL-databases op TRUE.

o   Maakt de databaserol MSDynamicsSL als het ontbreekt en deze rechten worden toegewezen, maar wordt niet opnieuw de gebruikers aan de rol toevoegen. Zie bug 15135.

§  In SL 7.0, alleen opnieuw wordt gemaakt de rol van de database systeem SL

§  In SL 7.0 Sp1, maakt de rol in het Lineaire systeem- en SL-databases opnieuw.  

o   De rol van de toepassing MSDSL maakt van het systeem en toepassing DBs alleen als ze ontbreken

o   Toegewezen rechten aan de rol van MSDSL in het systeem DB. Door bug 15053, rechten niet zijn toegewezen aan de rol van MSDSL in de app db als functie van de ontbrak. Dit kan leiden tot een systeembericht 10232 bij aanmelding. Zie bug voor oplossing.

o   De MSDSL app rol wachtwoord gesynchroniseerd en ingesteld.

o   Hiermee stelt u het wachtwoord van de gebruiker E7F575915A2E4897A517779C0DD7CE.

o   Hiermee stelt u het wachtwoord van de gebruiker 07718158D19D4f5f9D23B55DBF5DF1.

· SQL Databases geverifieerd

o   Hiermee stelt de eigenaar van de Lineaire systeem- en SL-databases op master60sp.

o   Maakt de gebruiker master60sp op de server als ontbreekt.

o   Maakt de gebruiker CD7359B5576446f85EB67E824B4770 als ontbreekt.

o   Verbreekt en vervolgens opnieuw wordt de gebruiker CD7359B5576446f85EB67E824B4770 uit de Lineaire systeem- en SL-databases.

o   Aan de CD7359B5576446f85EB67E824B4770 gebruiker rechten ontlenen.

o   De betrouwbare eigenschap ingesteld op de SL-systeem- en SL-databases op TRUE.

o   Het master60sp wachtwoord gesynchroniseerd.

o   Hiermee stelt u het wachtwoord van de gebruiker CD7359B5576446f85EB67E824B4770.

Database-eigenaar:

De eigenaar van de database wordt ingesteld tijdens het Databaseonderhoud (98.290.00). In versie 6.0 Sp1 – 6.5 of SL 7.0, SQL-verificatie, de eigenaar van de database is master60sp. SL 7.0 de eigenaar van de databases wordt u ingesteld op de gebruikers-ID die aan Databaseonderhoud-aanmelding. In SL 7.0 Service Pack 1, de eigenaar van de databases wordt u ingesteld op sa.

De eigenaar van de database krijgt volledige controle over alle objecten in de database. Maakt het niet gewoonlijk uit die de eigenaar van de databases zijn, mits de gebruiker eigenaar is van alle SL-databases. Er is een uitzondering. Als de eigenaar van de database een domeingebruiker is en voor sommige de SQL-Server problemen contact opnemen met een domeincontroller is reden, u de volgende fout in verschillende plaatsen ziet mogelijk:

---------------------------
SQL Server-bericht 15404
---------------------------
Kan geen informatie over Windows NT group/user 'Domein\gebruikersnaam', foutcode 0x54b verkrijgen.
---------------------------
OK  
---------------------------

Om te komen van de eigenaar van de database, kan u al een gebruiker in de database niet. Heeft de volgende fout veroorzaken in het onderhoud van de Database:

---------------------------
9829000
---------------------------
SetOwner fout-2147206394: [Microsoft] [ODBC SQL Server Driver] SQL Server voorgestelde nieuwe eigenaar van de database is al een gebruiker of de alias in de database.
---------------------------
OK  
---------------------------

Zie KB 942450 voor meer informatie over deze fout.

Om dit te voorkomen, is het raadzaam een gebruiker SQL zoals "sa" (dit gebeurt automatisch in 7.0 servicepack 1) of de eigenaar van de databases maken

 

 

Diverse:

SQL Server-serviceaccount. De serviceaccount is een account, maar het moet leesmachtigingen hebben voor de gebruiker account-objecten in active directory. Anders krijgt u de volgende fout bij het toevoegen van gebruikers aan SL:

---------------------------
SQL Server-bericht 15404
---------------------------
Kan geen informatie over Windows NT group/user 'Domein\gebruikersnaam', foutcode 0x54b verkrijgen.
---------------------------
OK  
---------------------------

De SQL Server-serviceaccount kan worden ingesteld door te gaan naar Start -> Instellingen -> Configuratiescherm -> Systeembeheer -> Services. Scroll naar ' SQL Server (MSSQLSERVER) ", rechts op en selecteer Eigenschappen. Klik vervolgens op het tabblad aanmelden.

ODBC-verbindingen. Wanneer u een crystal-rapport voor het eerst op een nieuw werkstation uitvoert, een ODBC-verbinding wordt gemaakt voor de Lineaire systeem- en SL-databases op het tabblad gebruikers-DSN van gegevensbronnen (ODBC). Deze verbinding moet worden ingesteld op de SQL-verificatie gebruiken, zelfs als u Windows-verificatie voor aanmelding bij Dynamics SL. gebruikt als deze verbinding wordt gewijzigd voor het gebruik van windows-verificatie of een systeem-DSN is toegevoegd en windows-verificatie wordt gebruikt, gebruikers de volgende fout wordt weergegeven:

---------------------------
Crystal Reports helptoepassing voor Solomon IV
---------------------------
Get SQL-Query is mislukt
Rapport: C:\Program Files\Microsoft Dynamics\SL\Applications\GL\01720.RPT
Crystal Print Engine-fout: 709 - Fout in het bestand C:\Program Files\Microsoft Dynamics\SL\Applications\GL\01720.RPT:
De tabel kan niet worden gevonden.
---------------------------
OK  
---------------------------

Is het veilig om de gebruikers-DSN-vermeldingen verwijderen als ze worden automatisch opnieuw gemaakt. u kunt-weergave de gegevens door te gaan naar Start -> Configuratiescherm > Systeembeheer -> gegevensbronnen (ODBC).

 

De eigenschap 'Betrouwbaar' in de database. Dit lijkt iets nieuws in SQL 2005. Wanneer een database wordt eerst gekoppeld aan een SQL-Server, de eigenschap 'betrouwbaar' in de database is ingesteld op FALSE. Dit betekent dat niet alle objecten in de database die probeert toegang te krijgen tot objecten in een andere database (zoals de vs_company in de database van de SL-toepassing). Dit kan leiden tot de volgende fout in allerlei locaties, met inbegrip van schermen gewoon openen in SL:

---------------------------
SQL Server-bericht 916
---------------------------
De server-principal '07718158D19D4f5f9D23B55DBF5DF1' kan geen toegang tot de database 'SLSYS' in de beveiligingscontext van de huidige.
---------------------------
OK  
---------------------------

Ziet u de huidige status van de eigenschap in door te gaan naar SQL Server Management Studio rechts -> Klik op de database selecteren -> Eigenschappen -> Klik op opties. De betrouwbare eigenschap is onder de sectie Miscellaneous.  

Het synchroniseren van alle eigendom & beveiliging database onderhoud scenario verschijnt deze optie instellen op TRUE voor alle SL-databases.

Meer informatie vindt u hier:

http://msdn2.microsoft.com/en-us/library/ms187861.aspx

 

Gebruikers van de toevoegen in het venster Onderhoud van de gebruiker. Zelfs als een gebruiker bijwerken, invoegen, verwijderen van rechten voor het onderhoud scherm van de gebruiker (98.260.00) nog steeds niet toevoegen van nieuwe gebruikers of gebruikers toevoegen aan de groep Administrators. Wanneer u de Windows-gebruikersnaam en de tab invoeren, wordt het volgende foutbericht:

---------------------------
SQL Server-bericht 229
---------------------------
De machtiging voor uitvoeren is geweigerd op het object 'xp_logininfo' database 'mssqlsystemresource', schema 'sys'.
---------------------------
OK  
---------------------------

Als u een gebruiker toevoegen aan de groep Administrators probeert, wordt het volgende foutbericht worden weergegeven:

---------------------------
SQL Server-bericht 15247
---------------------------
Gebruiker heeft geen toestemming om deze actie te voeren.
---------------------------
OK  
---------------------------

U moet zich in de groep Administrators kunnen SL toevoegen van gebruikers of gebruikers toevoegen aan de groep Administrators. Wanneer u een nieuwe gebruikers-ID toevoegt, het proces werkelijk de windows-gebruiker wordt toegevoegd als een nieuwe SQL Server-gebruiker. Hiervoor een verhoogd niveau van SQL-rechten niet alleen de rol van de MSDSL verleent. Zodat u in de groep Administrators SL moet zijn.

 

Databases verplaatsen naar een nieuwe server. In de database van een windows-verificatie, elke windows-aanmelding van gebruikers-ID worden toegevoegd aan de SQL-Server onder SQL Server -> Beveiliging -> aanmeldingen. Die aanmeldingen worden toegevoegd aan de database onder SLDATABASE -> Beveiliging -> gebruikers. , Maar als u een database een back-up en naar een nieuwe server terugzetten, de aanmeldings-id's worden niet automatisch toegevoegd aan de SQL-Server. Zodat de aanmeldings-id's in de database worden zwevend. Zie bug 15024 die moet worden gecorrigeerd in 7.0 FP1. Om dit te corrigeren, moet u het volgende script uitvoeren tegen de DB SL-systeem op de nieuwe server. Als u dat niet doet, krijgen gebruikers "aanmelden. EXE is een fout opgetreden en moet worden afgesloten. Excuses voor het ongemak' fouten bij het aanmelden

@windowsuseracct declareren als char(85)
@execString declareren als char(200)
User_cursor CURSOR voor DECLAREREN
Selecteer afzonderlijke windowsuseracct in userrec
links join sys.server_principals slogins op userrec.windowsuseracct=slogins.name
waar windowsuseracct <>'' en slogins.name is null
       OPEN user_cursor
Volgende ophalen uit user_cursor INTO @windowsuseracct
Bij @@FETCH_STATUS = 0
       BEGIN
set @execString = "Aanmelding maken" + QUOTENAME (rtrim(@windowsuseracct)) + '= [model] uit WINDOWS WITH DEFAULT_DATABASE'
              exec (@execString)
Volgende ophalen uit user_cursor INTO @windowsuseracct
       END
User_cursor sluiten
DEALLOCATE, user_cursor