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