Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Annexe 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Référence des unités
Référence des procédures et fonctions
Les premiers pas
Présentation de l'interface NwTP
Norme
Standard
Loi

nwBindry : Services de liaison (émulation 2.x/3.x/(4.x))

La liaison (Bindery) est une base de données à usage spécifique dans laquelle NetWare conserve des informations sur les ressources et les utilisateurs du réseau. Comme les fonctions de liaison (Bindery) sont fréquemment utilisées par d'autres fonctions, ces services constituent le coeur de la plupart des applications NetWare. Chaque serveur possède sa propre liaison et un ensemble différent d'objets associés. La de liaison (Bindery) est entreposée dans 2 ou 3 fichiers (selon la version du système d'exploitation Netware du serveur) sur le volume SYS: du serveur de fichiers. Notez que les serveurs Netware 4.x ont la capacité d'émuler la liaison, mais ne disposent pas de fichiers de liaison.

La liaison se compose d'une liste de ressources système (appelées objets) telles que les utilisateurs, les groupes d'utilisateurs et les files d'attente. En d'autres termes : chaque «objet» de liaison représente une «chose» unique (utilisateur, groupe, serveur de fichiers publicitaires,...) que le serveur connaît. Chaque objet peut être identifié de manière unique par son numéro d'identification d'objet associé ou par la combinaison de son nom d'objet et de son type d'objet. Le type d'objet est un numéro associé à un certain type d'objets. (par exemple, le type d'objet des objets utilisateur est 1). Zéro ou plusieurs propriétés peuvent être associées à un objet. Les propriétés contiennent des informations supplémentaires sur l'objet associé.

Dans le pseudo-code Pascal, la liaison peut être définie comme :

  1. Var  
  2.  Bindery:Array of TBinderyObject;
  3.  
  4. Type 
  5.  TBinderyObject=Record
  6.   ObjectName:String[47];
  7.   ObjectType:Word;
  8.   ObjectID:LongInt;
  9.   Properties:Array of TProperty;
  10.  End;
  11.  
  12.  TProperty=Record
  13.   PropertyName:String[15];
  14.   PropertyValue:Array of TpropertySegment
  15.  End;
  16.  
  17.  TPropertySegment=Array[1..128] of Byte;

Les services de liaison s'occupent de la création et de la suppression des objets et des propriétés associées, ainsi que des modifications de ces derniers. Ils vous permettent également de rechercher certains objets dans la liaison.

Dans le pseudo-code ci-dessus, rien n'est dit sur les fonctionnalités de sécurité disponibles dans la liaison. Plusieurs niveaux de sécurité sont disponibles au niveau des objets et/ou des propriétés individuels. Pour illustrer cette fonctionnalité : la propriété de mot de passe d'un objet ne peut même pas être lue par le superviseur et la propriété appelée «adresse réseau» d'un serveur peut être lue par des objets n'étant même pas connectés. Pour chaque propriété attachée à un objet, cinq niveaux de sécurité sont disponibles pour la lecture et cinq autres pour l'écriture. Il s'agit de «tout utilisateur connecté», «utilisateur» et «superviseur». (Pour les propriétés PASSWORD et OLD_PASSWORD, il existe un cinquième niveau, «serveur»). La sécurité d'un objet (ou d'une propriété) est définie lors de sa création et ne peut être modifiée que par un autre objet disposant des droits suffisants pour écrire sur l'objet. Par exemple, pour la propriété IDENTIFICATION [nom complet d'un objet], la sécurité par défaut est que tout utilisateur connecté peut lire la valeur (obtenir le nom de l'utilisateur), mais seul le superviseur (ou le responsable) peut modifier le nom.

Les objets et les propriétés peuvent être définis comme étant dynamiques ou statiques. Les objets/propriétés statiques sont entreposés sur le disque et continueront d'exister dans la liaison si le serveur est redémarré. Les objets statiques sont des éléments tels que les utilisateurs et les groupes. Ils existent dans la liaison jusqu'à ce que quelque chose les supprime. Les objets dynamiques sont des éléments tels que les serveurs de fichiers n'étant dans la liaison que pendant un certain temps. Lorsque le serveur est en panne, ils sont supprimés. Ceci est utilisé pour des éléments tels que les serveurs de fichiers publicitaires. Chaque serveur de fichiers publicitaires sur le réseau est un objet de liaison. (SLIST, par exemple, est juste une collection d'appels d'API de liaison pour lire tous les objets de type « serveur de fichiers » et les afficher). Les objets/propriétés dynamiques seront perdus lorsque le serveur est en panne. Les serveurs d'impression et de fichiers seront installés dans la liaison en tant qu'objets dynamiques par le processus serveur au démarrage.

Les propriétés existent en deux versions : Set Property et Item Property. La structure d'une propriété d'élément n'est pas prédéfinie, c'est juste une collection de blocs de données de 128 octets. La structure d'une propriété Set est prédéfinie, les blocs de données de 128 octets contiennent des identificateurs d'objet. Un exemple est la propriété d'ensemble GROUPS_I'M_IN associée à un objet utilisateur. Cette propriété d'ensemble contient les identifiants d'objet de tous les groupes dont l'utilisateur est membre.

La liaison contient une multitude d'objets et de propriétés standard. Laissez-moi vous donner quelques exemples, juste pour vous donner une idée : tous les serveurs connus sur le réseau sont représentés par des objets dynamiques dans la liaison. Ces objets, de type OT_FILE_SERVER, ont toujours une propriété appelée SERVER_ADDRESS contenant l'adresse réseau complète du serveur. Chaque objet autorisé à se connecter possède un certain nombre de propriétés contenant les paramètres pouvant être modifiés avec SYSCON. (par exemple, le nom complet, les restrictions de temps de connexion, la comptabilité, les restrictions de taille de volume).

Quelques propriétés standard sont présentées ici car elles sont étroitement liées aux objets de la liaison et/ou à la liaison elle-même. Une propriété appelée PASSWORD est associée à tous les objets autorisés à se connecter. Cette propriété ne peut être lue que par Netware lui-même (c'est-à-dire un NLM). Vous devrez utiliser les appels ChangeBinderyObjectPassword et VerifyBinderyObject Password pour modifier/vérifier la valeur de cette propriété.

La plupart des objets/propriétés ne peuvent pas être modifiés (ni même lus) par des objets non superviseurs. Il existe 3 options possibles pour donner à d'autres objets la possibilité de gérer les objets/propriétés de la liaison :

Remarque : différences entre les liaisons des différentes versions de NetWare.

3.11 vs 3.12

Les liaisons sur NetWare v3.11 et v3.12 sont essentiellement identiques. Cependant, contrairement à NetWare v3.11, le système d'exploitation v3.12 ne vous permettra pas de modifier les fonctionnalités de certaines propriétés de liaison standard.

Par exemple, si vous essayez de modifier la propriété utilisateur «SECURITY_EQUALS» de la sécurité d'accès «Lecture d'objet, écriture du superviseur» à «Lecture d'objet, écriture d'objet», NetWare v3.12 renvoie le message d'erreur suivant :

$F1 (241): Invalid Bindery Security

et ne termine pas l'opération.

3.x vs 4.x

L'émulation de liaison NetWare v4.01 est encore plus restrictive dans cette situation. NetWare v4.01 ne vous permet pas de :

Par exemple, les tentatives de création des propriétés HOME_DIRECTORY ou MISC_LOGIN_INFO aboutissent à un état d'achèvement réussi, mais les propriétés ne sont pas créées et ne peuvent pas être utilisées dans les appels de liaison. Lorsque vous essayez d'ajouter des valeurs à ces propriétés, NetWare v4.01 renvoie l'erreur $FF (255) ou $FB (251).



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Dimanche, le 9 juillet 2023