GT a MS Windwows Vista

Transkrypt

GT a MS Windwows Vista
MS Windows Vista
Autor: Jacek Parzonka, InsERT
Spis treści
SPIS TREŚCI.............................................................................................................................................. 1
WSTĘP...................................................................................................................................................... 2
PROBLEMY .............................................................................................................................................. 2
UŻYWANIE AUTENTYKACJI WINDOWS DLA MS SQL SERVERA 2005 EXPRESS .................................................. 2
Run as administrator ........................................................................................................................ 3
Modyfikacja uprawnień za pomocą SQLCMD.EXE.......................................................................... 4
Modyfikacja uprawnień za pomocą MS SQL Server Management Studio Express............................ 5
Droga na skróty ............................................................................................................................... 9
PROBLEMY Z WYDRUKAMI ...................................................................................................................... 10
ZAPIS SKRYPTOWYCH SKŁADNIKÓW PŁACOWYCH...................................................................................... 11
STEROWNIKI URZĄDZEŃ ZEWNĘTRZNYCH ................................................................................................. 12
1
Wstęp
Problemy
W tym rozdziale opisano znane problemy, jakie mogą wystąpić przy pracy systemu
InsERT GT pod kontrolą systemu operacyjnego MS Windows Vista.
Używanie autentykacji Windows dla MS SQL Servera 2005 Express
Autentykacja Windows dla MS SQL Servera 2005 pod kontrolą Visty działa zupełnie
inaczej, niż znane jest to ze wcześniejszych wersji systemu operacyjnego i MS SQL
Servera. Przede wszystkim idzie o odmienny sposób mapowania użytkownika
o uprawnieniach administracyjnych w systemie operacyjnym na użytkownika w SQL
Serverze.
Dawniej stosowano model, w którym każdy użytkownik systemu operacyjnego
o uprawnieniach administracyjnych miał pełne prawa w SQL Serverze (miał
przydzieloną rolę sysadmin). Ten model w Viście nie funkcjonuje – wprowadzono
nowe, znacznie bardziej restrykcyjne, zasady mapowania użytkowników systemu
operacyjnego na SQL Server.
Domyślnie w zasadzie nie ma różnicy, jakie uprawnienia ma się w systemie
operacyjnym. W SQL Serverze wszelkie funkcjonalności są standardowo niedostępne.
Dla przykładu zestawiono w tabeli zwykłego użytkownika i administratora Visty:
System operacyjny: Standardowy użytkownik
Domyślne uprawnienia na SQL Serverze:
Przeglądanie listy baz danych (narzędziami SQLa): tak
Przeglądanie listy baz danych (przy starcie programu GT): nie1
Przeglądanie zawartości baz danych: nie
Modyfikacja zawartości baz danych: nie
Zakładanie nowych baz danych: nie
System operacyjny: Administrator
Domyślne uprawnienia na SQL Serverze: BUILTIN\Users
Przeglądanie listy baz danych (narzędziami SQLa): tak
Przeglądanie listy baz danych (przy starcie programu GT): nie
Przeglądanie zawartości baz danych: nie
Modyfikacja zawartości baz danych: nie
Zakładanie nowych baz danych: nie
1
Przeglądanie baz danych przy starcie któregokolwiek z programów linii GT wymaga odczytania tzw. Extender
Properties, do czego taki uŜytkownik nie ma uprawnień.
2
Administrator w MS Windows Vista jest na MS SQL Server 2005 domyślnie mapowany
jako użytkownik o bardzo wąskim zakresie uprawnień. Przede wszystkim domyślnie
nie ma przydzielonej żadnej roli serwerowej, natomiast w bazach danych ma jedynie
uprawnienia wynikające z roli public. Można więc stwierdzić, że jego zakres
uprawnień domyślnie jest bardzo wąski i praktycznie sprowadza się do przeglądania
listy dostępnych na serwerze baz danych (i to tylko za pomocą narzędzi SQL Servera).
Run as administrator
Pierwszym możliwym sposobem na uruchomienie czy to systemu InsERT GT, czy
narzędzie SQL-owych, z właściwym poziomem uprawnień jest skorzystanie z opcji
dostępnej przy uruchamianiu jakiejkolwiek aplikacji w menu kontekstowym Run as
Administrator.
Po jej wybraniu istnieje możliwość uruchomiania programu (dotyczy to zarówno
aplikacji linii GT jak i aplikacji SQL Severa) z „prawdziwymi” uprawnieniami
administracyjnymi. Jeśli opcja była wywołana przez administratora, wówczas program
po prostu zacznie się uruchamiać. Jeśli jednak wywołał ją użytkownik, który
w systemie operacyjnym nie jest administratorem, wyświetli się lista dostępnych
w systemie kont administracyjnych.
3
Jest możliwość wybrania któregokolwiek z nich i uruchomienia programu jako
administrator po podaniu hasła.
Podany wyżej sposób w dłuższej perspektywie czasu jest dość uciążliwy, gdyż
wymaga każdorazowego wybierania opcji Run as administrator z menu kontekstowego
i ewentualnie podawania hasła administratora systemu operacyjnego.
Modyfikacja uprawnień za pomocą SQLCMD.EXE
Aby temu zaradzić, można po prostu konkretnym użytkownikom systemu
operacyjnego przydzielić odpowiednie uprawnienia w SQL Serverze. Najszybciej
można to przeprowadzić za pomocą narzędzia linii komend SQLCMD.EXE wykonując
skrypty języka Transach-SQL.
Z menu Start należy wybrać All Programs, a następnie Accessories/Command Prompt.
W linii poleceń należy wydać polecenie:
sqlcmd /S (local)\insertgt /U sa
Po podaniu hasła powinien pojawić się znak zachęty:
1>
Następnie należy podać zestaw poleceń, dzięki któremu zamapujemy użytkownika
systemu operacyjnego na SQL Server z odpowiednimi uprawnieniami. Najpierw należy
zmienić kontekst bazy danych na bazę systemową master.
1> USE master
2> GO
i nacisnąć ENTER. Następnie należy zamapować użytkownika systemu Windows Vista
w SQL Serverze:
1> CREATE LOGIN [VPCVISTA\JacekP] FROM WINDOWS
2> GO
4
Następnie warto przydzielić użytkownikowi rolę serwerową dbcreator, aby mógł
wykonywać zadania dołączania baz danych i dearchwizacji.
EXEC sp_addsrvrolemember 'VPCVISTA\Jacek', 'dbcreator'
GO
Następnie należy podać polecenie nadające użytkownikowi systemu Windows Vista
uprawnienie do bazy danych podmiotu (w przykładzie baza nazywa się Alfa):
1> USE [Alfa]
2> GO
i nacisnąć ENTER.
1> CREATE USER [VPCVISTA\JacekP] FOR LOGIN [VPCVISTA\JacekP]
2> GO
Ostatnią czynnością musi być przydzielenie użytkownikowi bazy danych
odpowiednich uprawnień tak, aby działały wszystkie funkcji w programach InsERT GT.
Najszerszą rolą w bazie danych jest db_owner:
1> EXEC sp_addrolemember N'db_owner', N'VPCVISTA\JacekP'
2> GO
Dzięki takiemu skonfigurowaniu uprawnień użytkownika na SQL Serverze mamy
pewność, że wszystkie funkcje w bazie danych podmiotu InsERT GT będą dostępne,
a jednocześnie ów użytkownik nie będzie miał nadmiarowych uprawnień na serwerze
bazy danych.
Modyfikacja uprawnień za pomocą MS SQL Server Management Studio Express
Przydział uprawnień dla użytkowników za pomocą MS SQL Server Management
Studio Express jest dużo łatwiejszy – nie wymaga bowiem znajomości języka TransactSQL. Należy jednak uprzednio pobrać z witryny Microsoftu darmowy pakiet
instalacyjny narzędzi dodatkowych dla SQL Servera 2005 Express i zainstalować
aplikację MS SQL Server Management Studio Express.
Pakiet instalacyjny znajduje się w lokalizacji:
http://msdn.microsoft.com/vstudio/express/sql/download/default.aspx
Należy zalogować się do Management Studio z uprawnieniami administracyjnymi.
Następnie w okienku Object Explorer odnaleźć właściwy serwer i rozwinąć gałąź
Security. Kolejno należy wybrać z menu kontekstowego opcję New/Login.
5
W oknie, które się pojawi należy zdefiniować parametry i uprawnienia loginu na
Serverze SQL. Na pierwszej zakładce General należy określić nazwę użytkownika
(można się posłużyć przyciskiem Serach, aby odnaleźć użytkownika systemu
operacyjnego).
6
Następnie na zakładce Server Roles należy przydzielić mu rolę dbcreator, która
uprawnia do dearchiwizacji podłączania nowych baz danych.
7
Na zakładce User Mapping ustalamy, do których baz danych i z jakimi uprawnieniami
dany login będzie miał dostęp. Należy zaznaczyć dla każdej z baz danych rolę
db_owner.
8
Droga na skróty
Opisane powyżej sposoby są pracochłonne, ale zapewniają bezpieczeństwo przy
korzystaniu z SQL Servera i autentykacji Windows. Istnieje także szybka metoda
przydzielenia wszystkim użytkownikom Windows Vista pełnych (administracyjnych)
uprawnień w SQL Serverze.
Z menu Start należy wybrać All Programs, a następnie Accessories/Command Prompt.
W linii poleceń należy wydać polecenie:
sqlcmd
/S
(local)\insertgt
'BUILTIN\Users', 'sysadmin'"
/U
sa
/Q"sp_addsrvrolemember
System zapyta o hasło dla użytkownika sa. Po jego podaniu wszyscy użytkownicy
Windows Vista (niezależnie od uprawnień w systemie operacyjnym) będą mieli pełne
uprawnienia w SQL Serverze.
9
Problemy z wydrukami
Problem dotyczy korzystania z drukarek sieciowych w MS Windows Vista. Jest to
problem wynikający z ewidentnego błędu systemu operacyjnego. Wszyscy
użytkownicy, którzy pracują na Windows Vista i chcą korzystać z drukarek poprzez
sieć, muszą zamapować sieciową drukarkę jako lokalną. Aby to zrobić należy postąpić
według następujących wskazówek.
Z menu Start należy wybrać opcję Control Panel/Printers (moduł Drukarki w Panelu
sterowania).
Następnie należy kliknąć Add a printer w belce nad listą drukarek. Kolejno wybieramy
Add a local printer (Drukarka lokalna).
W następnym oknie wybieramy Create a new port (Utworzyć nowy port). W polu Type
of port (Typ portu) powinno być: Local Port.
10
Klikamy Next. Jako nazwę portu wprowadzamy adres drukarki, np.:
\\Printerserver\Printername
W następnym oknie wybieramy typ drukarki. Kolejne opcje można konfigurować
według własnego uznania.
Zapis skryptowych składników płacowych
Uwaga dotyczy wyłącznie skryptowych składników płacowych:
11
Przy zapisie składników płacowych typu SKRYPT na systemie Windows Vista pojawi
się komunikat o konieczności zalogowania się jako administrator do programu
RegAsm.exe.
Po podaniu hasła administratora skrypt zostanie zapisany.
Sterowniki urządzeń zewnętrznych
Istnieje możliwość wystąpienia błędów w programie Kasiarz GT (dla programu
w wersji 1.09 lub wcześniejszej na Windows Vista). Rozwiązaniem jest zainstalowanie
sterowników urządzeń zewnętrznych dystrybuowanych wraz z wersją 1.10 systemu
InsERT GT lub późniejszą.
Koniec.
12

Podobne dokumenty