Chcę stworzyć skrypt webowy, który będzie wykonywany przez innego użytkownika niż ten, który go wywołał. Powód jest prosty: użytkownik, który nie ma uprawnień do zmiany niektórych obiektów, może dodawać/usuwać do nich tagi, więc ta manipulacja tagami powinna być wykonana jako inny użytkownik.

Czy można to zrobić jako skrypt internetowy bez ingerowania w Javę?

Lub, mówiąc inaczej, czy istnieje sposób na zaimplementowanie tej funkcjonalności mimo wszystko bez Javy (dodawanie/usuwanie znaczników na obiektach, na których nie mam uprawnień do zapisu)?

Dzięki!

Re

1
Draško 26 wrzesień 2012, 14:46

2 odpowiedzi

Najlepsza odpowiedź

Niektóre zadania na świeżym powietrzu, takie jak tworzenie użytkowników lub grup, wymagają uprawnień administratora. Jeśli chcesz wykonać je jako zwykły użytkownik, możesz tymczasowo przyznać temu użytkownikowi uprawnienia administratora w skryptach internetowych.

Prosta zmiana uwierzytelniania skryptów internetowych za pomocą <authentication runas="admin">user</authentication> jak tutaj .

LUB

Nie zmienia się w pliku deskryptora, ale w pliku kontrolera skryptów internetowych. Szczegóły kodowania i sposobu implementacji można znaleźć w sudo jak narzędzia(1) tutaj. i narzędzia do sudo (2).

Mam nadzieję, że pomoże.

4
swemon 26 wrzesień 2012, 16:15

Jak powiedział Swemon, możesz to zrobić. Plik deklaracji webscript (tj. webscript.get.desc.xml) zawiera m.in. linię:

<authentication>user</authentication>

W ten sposób będzie działać - jako uwierzytelniony użytkownik. Możesz też powiedzieć:

<authentication>guest</authentication>

Oznacza to, że skrypt internetowy może uruchomić każdy.

I na koniec możesz powiedzieć:

<authentication runas="admin">user</authentication>

Oznacza to, że skrypt internetowy będzie miał uprawnienia administracyjne.

Następnie możesz uzyskać dostęp do wszystkich potrzebnych danych w pliku kontrolera javascript.

4
Zlatko 26 wrzesień 2012, 16:19