Astra Linux Directory Client Core API  1.7.0
ALDObjects.h
См. документацию.
1 
6 #ifndef ALD_OBJECTS
7 #define ALD_OBJECTS
8 
9 #include "common.h"
10 #include "ALDCore.h"
11 #include "ALDCoreUtils.h"
12 #include "ALDLogProvider.h"
13 #include "ldap-wrapper.h"
14 #include <string>
15 #include <memory>
16 
17 using namespace std;
18 
19 namespace ALD
20 {
21 
27 #define ALD_INVALID_ID 0
29 
30 // ALD Object types
32 #define ALD_OT_DUMMY "ALD_DUMMY"
34 #define ALD_OT_DOMAIN "ALD_DOMAIN"
35 #define ALD_OT_USER "ALD_DOMAIN_USER"
36 #define ALD_OT_GROUP "ALD_DOMAIN_GROUP"
37 #define ALD_OT_TASK "ALD_TASK"
38 #define ALD_OT_EVTASK "ALD_EVTASK"
39 #define ALD_OT_POLICY "ALD_DOMAIN_POLICY"
40 #define ALD_OT_SERVICE "ALD_DOMAIN_SERVICE"
41 #define ALD_OT_SVCGROUP "ALD_DOMAIN_SERVICE_GROUP"
42 #define ALD_OT_HOST "ALD_HOST"
43 #define ALD_OT_HOSTGROUP "ALD_HOST_GROUP"
44 #define ALD_OT_ADMGROUP "ALD_DOMAIN_ADM_GROUP"
45 #define ALD_OT_LOG_CFG "ALD_DOMAIN_LOG_CFG"
46 #define ALD_OT_TD "ALD_TRUSTED_DOMAIN"
47 #define ALD_OT_DOCUMENT "ALD_DOCUMENT"
48 
50 // ALD save marks
52 #define ALD_PBK_HEAD "<<{ ALD Portable Backup File }>>"
53 
55 #define ALD_PBK_PREFIX "<<{ ALDObject: "
56 
58 #define ALD_PBK_SUFFIX ">>}"
59 
61 #define ALD_PBK_SIGN(type) string(ALD_PBK_PREFIX)+type
62 
63 // ALD save stages
65 #define ALD_SS_START "ALD_SS_START"
67 #define ALD_SS_POLICIES "ALD_SS_POLICIES"
68 #define ALD_SS_HOSTS "ALD_SS_HOSTS"
69 #define ALD_SS_HOSTGROUPS "ALD_SS_HOSTGROUPS"
70 #define ALD_SS_USERS "ALD_SS_USERS"
71 #define ALD_SS_GROUPS "ALD_SS_GROUPS"
72 #define ALD_SS_SERVICES "ALD_SS_SERVICES"
73 #define ALD_SS_SVCGROUPS "ALD_SS_SVCGROUPS"
74 #define ALD_SS_DOCUMENTS "ALD_SS_DOCUMENTS"
75 #define ALD_SS_ADMGROUP "ALD_SS_ADMGROUP"
76 #define ALD_SS_LOG_CFG "ALD_SS_LOGCFG"
77 #define ALD_SS_FINISH "ALD_SS_FINISH"
78 
84  aolsError
85 };
86 
92  aolfsError
93 };
94 
100  aooRemove
101 };
102 
106  aotatCheck
107 };
108 
110 typedef int ald_info_level;
111 
113 #define ALD_INFO_UNCHANGED -1
114 
116 #define ALD_INFO_DEFAULT 0
117 
119 #define ALD_OBJECT_ACTION(object, action) string(object)+":"+action
121 
122 #define ALD_OBJECT_ADDED "ADDED"
123 #define ALD_OBJECT_CK_REMOVAL "CHECK_REMOVAL"
124 #define ALD_OBJECT_DO_REMOVING "DO_REMOVING"
125 #define ALD_OBJECT_REMOVED "REMOVED"
126 #define ALD_OBJECT_MODIFIED "MODIFIED"
127 
133 {
134 protected:
137  string m_strName;
138  string m_strBase;
139  bool m_bValid;
140  bool m_bSystem;
141  string m_strOType;
145 
146  // abstract !!! must be overloaded in derived classes for saving specific fields
151  virtual void InternalSave(ostream &os, bool verbose = false) = 0;
152 
160  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line,
161  bool verbose = false);
162 
172  static aoLoadFieldStatus LoadField(istream &is, size_t &nline, string &line,
173  const string &field, string &value, bool fuzzy = false);
174 
183  static aoLoadFieldStatus LoadFields(istream &is, size_t &nline, string &line,
184  const string &field, ald_string_list &values);
185 
187 #define LOAD_FIELD(is, nline, line, field, value) {if(LoadField(is, nline, line, field, value) != aolfsLoaded) return aolsError;}
188 
190 #define LOAD_FIELDS(is, nline, line, field, values) {if(LoadFields(is, nline, line, field, values) == aolfsError) return aolsError;}
191 
192  // abstract !!! must be overloaded in derived classes, typically fill m_Entity,
193  // m_bValid must be set here if m_Entity is not used
201  virtual void InternalGet(string object, ald_info_level level, bool quiet = false) = 0;
202 
207  virtual bool ProcessEntity(bool quiet = false);
208 
210  virtual void EnsureInfoLevel(ald_info_level level);
211 
213  virtual void EnsureEntity();
214 
219  virtual void InternalRemove(bool force, void *extra = NULL);
220 
224  virtual void InternalCreate(void *extra = NULL);
225 
231  virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra = NULL);
232 
233  // abstract !!! must be overloaded in derived classes, typically MSG_*_OBJECT is used
259  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail) = 0;
260 
268  virtual bool StartOperation(const string &object, aoOperation op, const string &arg,
269  const string &detail, bool force = false);
270 
277  virtual void CommitOperation(const string &object, aoOperation op, bool process = false, bool quiet = false);
278 
284  bool TriggerAction(const string &action, aoTriggerActionType atype, bool quiet = false);
285 public:
290  explicit CALDObject(const string &type, CALDConnectionPtr Conn);
291 
293  CALDConnectionPtr conn() const {return m_Conn;}
295  CALDLdapEntPtr entity() const {return m_Entity;}
297  ald_info_level infolevel() const {return m_InfoLevel;}
299  string const &name() const;
301  string const &base() const;
303  const string &otype() const {return m_strOType;}
305  bool IsValid() const {return m_bValid;}
307  virtual bool IsSystemObject() {return false;}
308 
310  virtual void Clear();
311 
312  // must be overloaded if some restriction exists
317  virtual bool CheckRemoval(bool quiet = false);
318 
323  virtual bool Refresh(ald_info_level level = ALD_INFO_UNCHANGED, bool quiet = false);
324 
329  virtual void Save(ostream &os, bool verbose = false);
330 
336  virtual void Load(istream &is, size_t &nline, bool verbose = false);
337 
341  virtual bool CheckConsistency(string &msg);
342 
349  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
350 
351  // abstract !!! must be overloaded in derived classes, common structure:
365  virtual void Remove(bool force = false) = 0;
366 
367  // abstract !!! must be overloaded in derived classes, common structure
384  virtual bool Get(const string &oname, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false) = 0;
385 
387  virtual ~CALDObject();
388 };
389 
391 typedef shared_ptr<CALDObject> CALDObjPtr;
392 
394 #define ALD_SET_NAME 0x00001
396 #define ALD_SET_GID 0x00002
397 #define ALD_SET_DESC 0x00004
398 #define ALD_SET_MEMBERS 0x00008
399 #define ALD_SET_UID 0x00010
400 #define ALD_SET_HOME 0x00020
401 #define ALD_SET_SHELL 0x00040
402 #define ALD_SET_FULL_NAME 0x00080
403 #define ALD_SET_GECOS 0x00100
404 #define ALD_SET_POLICY 0x00200
405 #define ALD_SET_PWCHANGE 0x00400
406 #define ALD_SET_HOME_TYPE 0x00800
407 #define ALD_SET_CAPS 0x01000
408 #define ALD_SET_STATE 0x02000
409 #define ALD_SET_HOME_SRV 0x04000
410 #define ALD_SET_LGROUPS 0x08000
411 #define ALD_SET_FLAGS 0x10000
412 #define ALD_CLR_FAILCNT 0x20000
413 
416 typedef unsigned int ald_user_caps;
417 
419 #define ALD_CAP_ADMIN 0x80000000
421 #define ALD_CAP_LOCKED 0x40000000
422 #define ALD_CAP_USER 0x0
423 #define ALD_CAP_HOST_ADDER 0x1
424 #define ALD_CAP_ALL_HOST_ADDER 0x2
425 #define ALD_CAP_ADM_USER 0x4
426 #define ALD_CAP_LOGIN_MASK (ALD_CAP_ADMIN | ALD_CAP_HOST_ADDER | ALD_CAP_ALL_HOST_ADDER | ALD_CAP_ADM_USER)
427 #define ALD_CAP_FULL_MASK (ALD_CAP_USER | ALD_CAP_ADMIN | ALD_CAP_LOCKED | \
428  ALD_CAP_HOST_ADDER | ALD_CAP_ALL_HOST_ADDER | ALD_CAP_ADM_USER)
429 
432 #define ALD_USER_INFO_0 0
435 #define ALD_USER_INFO_1 1
437 #define ALD_USER_INFO_2 2
439 #define ALD_USER_INFO_3 3
441 #define ALD_USER_INFO_4 4
443 
446 #define ALD_USER_PROP_NAME 0 // ALD_SET_NAME
448 #define ALD_USER_PROP_UID 1 // ALD_SET_UID
449 #define ALD_USER_PROP_GID 2 // ALD_SET_GID
450 #define ALD_USER_PROP_CAPS 3 // ALD_SET_CAPS
451 #define ALD_USER_PROP_HOME 4 // ALD_SET_HOME
452 #define ALD_USER_PROP_HOMETYPE 5 // ALD_SET_HOME_TYPE
453 #define ALD_USER_PROP_GECOS 6 // ALD_SET_GECOS
454 #define ALD_USER_PROP_SHELL 7 // ALD_SET_SHELL
455 #define ALD_USER_PROP_DESC 8 // ALD_SET_DESC
456 #define ALD_USER_PROP_FULLNAME 9 // ALD_SET_FULL_NAME
457 #define ALD_USER_PROP_POLICY 10 // ALD_SET_POLICY
458 #define ALD_USER_PROP_HOMESRV 11 // ALD_SET_HOME_SRV
459 #define ALD_USER_PROP_LGROUPS 12 // ALD_SET_LGROUPS
460 
465 class CALDUser: public CALDObject
466 {
467 protected:
469  string m_strUID;
470  uid_t m_UID;
471  string m_strGID;
472  gid_t m_GID;
474 
475  virtual void InternalSave(ostream &os, bool verbose = false);
476  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
477  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
478  virtual void EnsureEntity();
479  virtual bool ProcessEntity(bool quiet = false);
480  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
481  virtual void InternalRemove(bool force, void *extra = NULL);
482  virtual void InternalCreate(void *extra = NULL);
483  virtual void InternalUpdate(unsigned int setmask, ald_string_multimap& attrs, void *extra);
484 public:
488  explicit CALDUser(CALDConnectionPtr Conn);
490  string const &strUID();
492  uid_t uid();
494  string const &strGID();
496  gid_t gid();
500  ald_linux_caps linuxCaps();
501 
503  bool IsAdm();
505  bool IsHostAdder();
506  bool IsAllHostAdder();
507  bool IsAdmUser();
508  bool IsLocked();
509  bool IsFailLocked();
510  bool CanLogin();
512 
516  void AllowedHosts(ald_string_list &hostlist);
517 
522 
524  string home();
526  string hometype();
528  string homeserver();
530  string gecos();
532  string shell();
533 
535  string desc();
537  string policy();
539  string pgroup();
541  void sgroups(ald_string_list &sgrouplist);
543  void lgroups(ald_string_list &lgrouplist);
545  string fullname();
549  unsigned int miclevel();
550  virtual void Clear();
552  virtual void Create(const string &newname, const string &newpwd, const string &newhometype,
553  const string &newhome, const string &newhomesrv, const string &newshell,
554  const string &newgecos, const string &newdesc, const string &newfull_name,
555  const string &newpolicy, const string &newlgroups, gid_t newgid,
556  uid_t newuid, bool needpwchange = false);
557  virtual bool Get(const string &user, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
559  virtual void Update(unsigned int setmask, const string &newhometype, const string &newhome,
560  const string &newhomesrv, const string &newshell, const string &newgecos,
561  const string &newdesc, const string &newfull_name, const string &newpolicy,
562  const string &newlgroups, gid_t newgid, uid_t newuid, bool needpwchange);
564  virtual void ChangePwd(const string &pwd);
565  virtual void Remove(bool force = false);
567  void SetCaps(ald_user_caps newcaps);
569  void SetLinuxCaps(ald_linux_caps newcaps);
571  void SetAllowedHosts(const ald_string_list &hosts, const ald_string_list &hgroups);
573  void SetMICLevel(unsigned int level);
575  void SetPhoto(const char* buff, unsigned long len);
577  void* GetPhoto(unsigned long &len); // result must be freed
578  virtual bool CheckConsistency(string &msg);
579  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
580  virtual ~CALDUser();
581 };
582 
584 typedef shared_ptr<CALDUser> CALDUserPtr;
585 
587 #define ALD_GROUP_INFO_0 0
590 #define ALD_GROUP_INFO_1 1
592 
595 #define ALD_GROUP_PROP_NAME 0 // ALD_SET_NAME
597 #define ALD_GROUP_PROP_GID 1 // ALD_SET_GID
598 #define ALD_GROUP_PROP_MEMBER 2 // ALD_SET_MEMBERS
599 #define ALD_GROUP_PROP_DESC 3 // ALD_SET_DESC
600 
605 class CALDGroup: public CALDObject
606 {
607 protected:
608  string m_strGID;
609  gid_t m_GID;
610 
611  virtual void InternalSave(ostream &os, bool verbose = false);
612  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
613  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
614  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
615  virtual bool ProcessEntity(bool quiet = false);
616  virtual void InternalUpdate(unsigned int setmask, ald_string_multimap& attrs, void *extra);
617 public:
619  explicit CALDGroup(CALDConnectionPtr Conn);
620 
622  gid_t gid();
624  string strGID();
625 
627  string desc();
629  void members(ald_string_list &memlist);
631  void pmembers(ald_string_list &pmemlist);
633  bool empty();
634  virtual void Clear();
636  virtual void Create(const string &newname, const string &newdesc, const ald_string_list &newusers, gid_t newgid);
637  virtual bool Get(const string &group, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
639  virtual void Update(unsigned int setmask, const string &newname, gid_t newgid,
640  const string &newdesc, const ald_string_list &newusers);
641  virtual bool CheckRemoval(bool quiet = false);
642  virtual void Remove(bool force = false);
644  void AddMember(const string &user);
646  void RmMember(const string &user);
647  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
648  virtual bool IsSystemObject();
649  virtual ~CALDGroup();
650 };
651 
653 typedef shared_ptr<CALDGroup> CALDGroupPtr;
654 
656 typedef int ald_task_status;
657 
659 #define ALD_TASK_STATUS_PENDING 0
661 #define ALD_TASK_STATUS_OK 1
662 #define ALD_TASK_STATUS_ERROR -1
663 
666 #define ALD_TASK_STATUS_FILTER_PENDING 0x01
668 #define ALD_TASK_STATUS_FILTER_OK 0x02
669 #define ALD_TASK_STATUS_FILTER_ERROR 0x04
670 #define ALD_TASK_STATUS_FILTER_ALL 0x07
671 
674 #define ALD_TASK_INFO_1 1
677 #define ALD_TASK_INFO_2 2
679 
684 class CALDTask: public CALDObject
685 {
686 protected:
687  string m_strType;
689 
690  virtual void InternalSave(ostream &os, bool verbose = false){/* not saved ? */}
691  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
692  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
693  virtual bool ProcessEntity(bool quiet = false);
694 public:
696  explicit CALDTask(CALDConnectionPtr Conn);
698  string const &id() const;
700  string const &type() const;
702  string timestamp();
704  string err() const;
706  string data();
710  string strStatus() const;
712  virtual void Create(unsigned int ID, const string &TaskType, const string &TaskData);
713  virtual void Clear();
714  virtual bool Get(const string &ID, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
715  virtual void Remove(bool force = false);
717  virtual void SetOkState();
719  virtual void SetErrorState(const string &e);
720  virtual ~CALDTask();
721 };
722 
724 typedef shared_ptr<CALDTask> CALDTaskPtr;
725 
729 class CALDEvTask: public CALDTask
730 {
731 protected:
732  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
733 public:
737  virtual void Create(unsigned int ID, const string &TaskType, const string &TaskData);
738  virtual bool Get(const string &ID, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
739  virtual void Remove(bool force = false);
740  virtual void SetOkState();
741  virtual void SetErrorState(const string &e);
742  virtual ~CALDEvTask();
743 };
744 
746 typedef shared_ptr<CALDEvTask> CALDEvTaskPtr;
747 
748 // Policy properties ALD_KRB_* from krb5-wrapper.h
749 // setmask ALD_KRB_* from krb5-wrapper.h
750 
754 class CALDPolicy: public CALDObject
755 {
756 protected:
757  unsigned int m_MinLife;
758  unsigned int m_MaxLife;
759  unsigned int m_MinLength;
760  unsigned int m_MinClasses;
761  unsigned int m_HistoryNum;
763 
764  virtual void InternalSave(ostream &os, bool verbose = false);
765  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
766  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
767  virtual void EnsureEntity();
768  virtual bool ProcessEntity(bool quiet = false);
769  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
770  virtual void InternalRemove(bool force, void *extra = NULL);
771  virtual void InternalCreate(void *extra = NULL);
772  virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra = NULL);
773 public:
777  unsigned int min_life() const;
779  unsigned int max_life() const;
781  unsigned int min_length() const;
783  unsigned int min_classes() const;
785  unsigned int history_num() const;
787  unsigned int max_fail() const;
789  unsigned int failcnt_interval() const;
791  unsigned int lockout_duration() const;
793  void users(ald_string_list &userlist);
796  virtual void Clear();
798  virtual void Create(const string &newname, unsigned int newminlife,
799  unsigned int newmaxlife, unsigned int newminlength,
800  unsigned int newminclasses, unsigned int newhistorynum,
801  unsigned int newmaxfail, unsigned int newfailcntinterval,
802  unsigned int newlockoutduration);
803  virtual bool Get(const string &policy, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
805  virtual void Update(unsigned int setmask, unsigned int newminlife,
806  unsigned int newmaxlife, unsigned int newminlength,
807  unsigned int newminclasses, unsigned int newhistorynum,
808  unsigned int newmaxfail, unsigned int newfailcntinterval,
809  unsigned int newlockoutduration);
810  virtual bool CheckRemoval(bool quiet = false);
811  virtual void Remove(bool force = false);
812  virtual bool CheckConsistency(string &msg);
813  virtual void Recreate(const string &polname);
814  virtual bool IsSystemObject();
815 
816  virtual ~CALDPolicy();
817 };
818 
820 typedef shared_ptr<CALDPolicy> CALDPolicyPtr;
821 
825 class CALDService: public CALDObject
826 {
827 protected:
829 
830  virtual void InternalSave(ostream &os, bool verbose = false);
831  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
832  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
833  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
834  virtual void InternalCreate(void *extra = NULL);
835  virtual void EnsureEntity();
836  virtual bool ProcessEntity(bool quiet = false);
837  virtual void InternalRemove(bool force, void *extra = NULL);
838 public:
842  CALDKrbPrincipalPtr princ() const {return m_krbPrinc;}
843  virtual void Clear();
845  virtual void Create(const string &newname);
846  virtual bool Get(const string &service, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
848  void sgroups(ald_string_list &svcgrouplist);
849  virtual void Remove(bool force = false);
850  virtual ~CALDService();
851 };
852 
854 typedef shared_ptr<CALDService> CALDServicePtr;
855 
857 #define ALD_SGROUP_PROP_NAME 0
859 #define ALD_SGROUP_PROP_MEMBER 1
860 
866 {
867 protected:
868  virtual void InternalSave(ostream &os, bool verbose = false);
869  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
870  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
871  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
872  virtual bool ProcessEntity(bool quiet = false);
873 public:
877  void members(ald_string_list &memlist);
879  void services(ald_string_list &svclist);
880  virtual bool Get(const string &sgroup, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
882  void AddService(const string &service);
884  void RmService(const string &service);
885  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
886  virtual bool CheckRemoval(bool quiet = false);
887  void Remove(bool force);
888  virtual ~CALDSvcGroup();
889 };
890 
892 typedef shared_ptr<CALDSvcGroup> CALDSvcGroupPtr;
893 
895 #define ALD_HGROUP_INFO_0 0
898 #define ALD_HGROUP_INFO_1 1
900 
903 #define ALD_HGROUP_PROP_NAME 0
905 #define ALD_HGROUP_PROP_HOST 1
906 #define ALD_HGROUP_PROP_DESC 2
907 
913 {
914 protected:
915  virtual void InternalSave(ostream &os, bool verbose = false);
916  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
917  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
918  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
919  virtual void InternalUpdate(unsigned int setmask, ald_string_multimap& attrs, void *extra);
920  virtual bool ProcessEntity(bool quiet = false);
921 public:
924 
926  string desc();
928  void members(ald_string_list &memlist);
930  void hosts(ald_string_list &hlist);
932  virtual void Create(const string &newname, const string &newdesc);
933  virtual bool Get(const string &hgroup, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
935  virtual void Update(unsigned int setmask, const string &newname,
936  const string &newdesc, const ald_string_list &newhosts);
938  void AddHost(const string &host);
940  void RmHost(const string &host);
941  virtual bool IsSystemObject();
942  virtual void Remove(bool force = false);
943  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
944  virtual ~CALDHostGroup();
945 };
946 
948 typedef shared_ptr<CALDHostGroup> CALDHostGroupPtr;
949 
951 #define ALD_HOST_INFO_0 0
954 #define ALD_HOST_INFO_1 1
956 
959 #define ALD_HOST_PROP_NAME 0
961 #define ALD_HOST_PROP_DESC 1
962 #define ALD_HOST_PROP_FLAGS 2
963 #define ALD_HOST_PROP_ID 3
964 
967 #define ALD_HOST_DC 'C'
969 #define ALD_HOST_PRIMARY 'P'
970 #define ALD_HOST_FS 'F'
971 #define ALD_HOST_DISABLED 'D'
972 
973 #define ALD_HOST_EMPTY "[]"
974 #define ALD_HOST_PDC "[PCF]"
975 #define ALD_HOST_BDC "[CF]"
976 #define ALD_OLD_SRV "[PCF]"
977 
982 class CALDHost: public CALDObject
983 {
984 protected:
985  string m_strFlags;
986  unsigned int m_serverID;
988 
989  virtual void InternalSave(ostream &os, bool verbose = false);
990  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
991  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
992  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
993  virtual void EnsureEntity();
994  virtual bool ProcessEntity(bool quiet = false);
995  virtual void InternalCreate(void *extra = NULL);
996  virtual void InternalRemove(bool force, void *extra = NULL);
997 public:
1000 
1002  explicit CALDHost(CALDConnectionPtr Conn);
1003 
1005  string desc();
1007  string const flags() const;
1009  unsigned int serverID();
1011  bool IsPDC();
1013  bool IsBDC();
1014  bool IsFS();
1015  bool IsDisabled();
1018  void hgroups(ald_string_list &hgrouplist);
1020  void hservices(ald_string_list &svclist);
1021  virtual void Clear();
1023  virtual void Create(const string &newhost, const string &newdesc);
1024  virtual bool Get(const string &host, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
1026  virtual void Update(const string &hostdesc);
1028  virtual void SetFlags(const string &newflags, unsigned int newID);
1029  virtual void Remove(bool force = false);
1030  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
1031  virtual bool CheckRemoval(bool quiet = false);
1032  virtual ~CALDHost();
1033 };
1034 
1041 string ModHostFlags(const string &flags, char flag, bool op);
1042 
1044 typedef shared_ptr<CALDHost> CALDHostPtr;
1045 
1050 {
1051 protected:
1052  virtual void InternalSave(ostream &os, bool verbose = false);
1053  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
1054  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
1055  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
1056  virtual bool ProcessEntity(bool quiet = false);
1059 public:
1063  void members(ald_string_list &userlist);
1065  bool IsMember(const string &user);
1066  virtual bool Get(const string &agroup, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
1068  void AddMember(const string &user);
1070  void RmMember(const string &user);
1071  virtual bool CheckRemoval(bool quiet = false);
1072  void Remove(bool force);
1073  virtual ~CALDAdmGroup();
1074 };
1075 
1077 typedef shared_ptr<CALDAdmGroup>CALDAdmGroupPtr;
1078 
1080 #define ALD_LOG_CFG_DEST 0
1082 #define ALD_LOG_CFG_TPL 1
1083 
1089 {
1090 protected:
1091  string m_strLogDest;
1092  virtual void InternalSave(ostream &os, bool verbose = false);
1093  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
1094  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
1095  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
1096  virtual bool ProcessEntity(bool quiet = false);
1097 public:
1101  string log_dest() const;
1103  void templates(ald_string_list &tpllist);
1105  string GetTemplate(const string &tpl_name);
1107  void ModTemplate(unsigned int setmask, const string &tpl_name, const string &suffix,
1108  const string &mode);
1110  void RmTemplate(const string &tpl_name);
1112  virtual void Update(const string &newdest);
1113  virtual bool Get(const string &oname = "", ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
1114  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
1115  virtual bool CheckRemoval(bool quiet = false);
1116  void Remove(bool force);
1117  virtual ~CALDDomainLogCfg();
1118 };
1119 
1121 typedef shared_ptr<CALDDomainLogCfg>CALDDomainLogCfgPtr;
1122 
1124 // name, kdc, desc
1126 #define ALD_TD_INFO_0 0
1127 // krb
1128 #define ALD_TD_INFO_1 1
1129 
1132 #define ALD_TD_PROP_NAME 0
1134 #define ALD_TD_PROP_KDC 1 // ALD_SET_NAME
1135 #define ALD_TD_PROP_DESC 2 // ALD_SET_DESC
1136 #define ALD_TD_PROP_DIR 3 // ALD_SET_FLAGS
1137 
1140 #define ALD_TD_DISABLED 0
1142 #define ALD_TD_INBOUND 0x1 // Reserved
1143 #define ALD_TD_OUTBOUND 0x2 // Reserved
1144 #define ALD_TD_BIDIRECTIONAL (ALD_TD_INBOUND|ALD_TD_OUTBOUND) // default
1145 
1151 {
1152 protected:
1153  string m_strKDC;
1154  unsigned int m_uDirection;
1157  string m_strInTGT;
1158  string m_strOutTGT;
1159  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
1160  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
1161  virtual void InternalCreate(void *extra = NULL);
1162  virtual void InternalRemove(bool force, void *extra = NULL);
1163 
1164  virtual void InternalSave(ostream &os, bool verbose = false){ /*dont save, must be recreate */ }
1165  virtual void EnsureEntity();
1166  virtual bool ProcessEntity(bool quiet = false);
1167  void InternalSetName(const string &domain);
1168  virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra = NULL);
1169 public:
1172 
1174  string desc();
1176  string const &kdc() const;
1178  string const &strInTGT();
1181  string const &strOutTGT();
1183  unsigned int direction() const;
1185  string strDirection() const;
1190  virtual void Clear();
1192  virtual void Create(const string &domain, const string &newkdc, const string &newdesc,
1193  unsigned int newdir, const string &newpwd);
1194  virtual bool Get(const string &domain, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
1196  virtual void Update(unsigned int setmask, const string &newkdc, const string &newdesc,
1197  unsigned int newdir);
1198  virtual void Remove(bool force = false);
1199  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
1200  virtual ~CALDTrustedDomain();
1201 };
1202 
1204 typedef shared_ptr<CALDTrustedDomain> CALDTrustedDomainPtr;
1205 
1207 #define ALD_DOCUMENT_INFO_0 0
1210 #define ALD_DOCUMENT_INFO_1 1
1212 
1215 #define ALD_DOCUMENT_PROP_NAME 0 // ALD_SET_NAME
1217 #define ALD_DOCUMENT_PROP_VER 1 // ALD_SET_STATE
1218 #define ALD_DOCUMENT_PROP_TITLE 2 // ALD_SET_GECOS
1219 #define ALD_DOCUMENT_PROP_LOCATION 3 // ALD_SET_FULL_NAME
1220 #define ALD_DOCUMENT_PROP_DESC 4 // ALD_SET_DESC
1221 
1224 #define ALD_INTDOC_UID "ALD/DOMAIN/NextUID"
1226 #define ALD_INTDOC_GID "ALD/DOMAIN/NextGID"
1227 #define ALD_INTDOC_TID "ALD/DOMAIN/NextTID"
1228 #define ALD_INTDOC_EID "ALD/DOMAIN/NextEID"
1229 
1235 {
1236 protected:
1237  string m_strVersion;
1238  string m_strLocation;
1239 
1240  virtual void InternalSave(ostream &os, bool verbose = false);
1241  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
1242  virtual void InternalGet(string object, ald_info_level level, bool quiet = false);
1243  virtual bool ProcessEntity(bool quiet = false);
1244  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
1245 public:
1249  string const &version();
1251  string const &location();
1253  string title();
1254 
1256  string desc();
1258  bool IsInternal();
1259  virtual void Clear();
1261  virtual void Create(const string &newname, const string &newtitle, const string &newlocation,
1262  const string &newver, const string &newdesc);
1263  virtual bool Get(const string &name, ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
1265  virtual void Update(unsigned int setmask, const string &newtitle, const string &newlocation,
1266  const string &newver, const string &newdesc);
1267  virtual bool CheckRemoval(bool quiet = false);
1268  virtual void Remove(bool force = false);
1269  virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet);
1271  virtual void Upload(const string &filename, bool overwrite);
1273  virtual void Download(const string &filename = "");
1274  virtual ~CALDDocument();
1275 };
1276 
1278 typedef shared_ptr<CALDDocument> CALDDocumentPtr;
1279 
1281 #define ALD_DOMAIN_PROP_ORG 0 // ALD_SET_NAME
1283 #define ALD_DOMAIN_PROP_STATE 0 // ALD_SET_STATE
1284 #define ALD_DOMAIN_PROP_TEL 0 // ALD_SET_GECOS
1285 #define ALD_DOMAIN_PROP_ADDR 0 // ALD_SET_FULL_NAME
1286 #define ALD_DOMAIN_PROP_DESC 0 // ALD_SET_DESC
1287 
1292 class CALDDomain: public CALDObject
1293 {
1294 protected:
1295  string m_strVersion;
1296 
1297  virtual void InternalSave(ostream &os, bool verbose = false);
1298  virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose = false);
1299  virtual void InternalNotice(aoOperation op, const string &arg, const string &detail);
1300  virtual void InternalGet(string object, ald_info_level level, bool quiet = false){ /* nothing to do */}
1301 public:
1304 
1306  string const &version() const;
1307 
1309  string org();
1310 
1312  string state();
1313 
1315  string telephon();
1316 
1318  string address();
1319 
1321  string desc();
1322 
1323  virtual void Clear();
1324  virtual bool Get(const string &domain = "", ald_info_level level = ALD_INFO_DEFAULT, bool quiet = false);
1326  virtual void Update(unsigned int setmask, const string &neworg, const string &newstate,
1327  const string &newtel, const string &newaddr, const string &newdesc);
1328  // ----- groups
1334  gid_t NextGID(bool generate);
1335 
1342  void AddGroup(const string &group, const string &desc, const ald_string_list &users, gid_t gid = ALD_INVALID_ID);
1343 
1351  bool ResolveGroup(const string &group, string &groupname, string &gid, bool quiet = false);
1352 
1353  // ----- users
1359  uid_t NextUID(bool generate);
1360 
1377  void AddUser(const string &user, const string &pwd, const string &hometype, const string &home,
1378  const string &homesrv, const string &shell, const string &gecos, const string &desc,
1379  const string &full_name, const string &policy, const string &lgroups,
1380  gid_t gid = ALD_INVALID_ID, uid_t uid = ALD_INVALID_ID, bool needpwchange = false);
1381 
1389  bool ResolveUser(const string &user, string &username, string &uid, bool quiet = false);
1390  // ------ privileged users
1395 
1396  // ----- tasks
1401  void EnumerateTasks(ald_string_list &tasks, unsigned int status_filter);
1402 
1408  void EnumerateTasksSince(ald_string_list &tasks, unsigned int status_filter, time_t since);
1409 
1411  unsigned int NextTID(bool generate);
1412 
1417  string CreateTask(const string &TaskType, const string &TaskData);
1418 
1420  void RotateTasks();
1421 
1422  // ----- events
1427 
1432  void EnumerateEventsSince(ald_string_list &events, time_t since);
1433 
1435  unsigned int NextEID(bool generate);
1436 
1441  string RaiseEvent(const string &TaskType, const string &TaskData);
1442 
1445 
1446  // ----- policies
1451 
1453  void AddPolicy(const string &policy, unsigned int minlife, unsigned int maxlife, unsigned int minlength,
1454  unsigned int minclasses, unsigned int historynum, unsigned int newmaxfail,
1455  unsigned int newfailcntinterval, unsigned int newlockoutduration);
1456 
1462  bool ResolvePolicy(const string &policy, bool quiet = false);
1463 
1464  // ----- Services
1469 
1471  void AddService(const string &service);
1472 
1478  bool ResolveService(const string &service, bool quiet = false);
1479 
1480  // ----- Services groups
1485 
1491  bool ResolveServicesGroup(const string &sgroup, bool quiet = false);
1492 
1493  // ----- Hosts
1494  // ----- Services groups
1499 
1501  void AddHost(const string &host, const string &desc);
1502 
1509  bool ResolveHost(const string &host, string &hostname, bool quiet = false);
1510 
1511  // ----- Hosts groups
1516 
1518  void AddHostsGroup(const string &hgroup, const string &hgroupdesc);
1519 
1525  bool ResolveHostsGroup(const string &hgroup, bool quiet = false);
1526 
1527  // ----- Tasks
1529  unsigned int taskHistory();
1530 
1532  void SetTaskHistory(unsigned int value);
1533 
1536 
1539 
1540  // ----- FileServers
1545 
1550 
1551  // --------------------
1556 
1563  bool ResolveALDServer(string &host, unsigned int &server_id, bool quiet = false);
1564 
1565  // ----- TrustedDomains
1570 
1572  void AddTrustedDomain(const string &realm, const string &kdc, const string &desc,
1573  unsigned int newdir, const string &newpwd);
1574 
1581  bool ResolveTrustedDomain(const string &realm, string &kdc, bool quiet = false);
1582 
1583  // ----- Documents
1588  void EnumerateDocuments(ald_string_list &docs, bool internal_oly);
1589 
1591  void EnumerateDocumentsSince(ald_string_list &docs, time_t since);
1592 
1594  void AddDocument(const string &name, const string &title, const string &location,
1595  const string &ver, const string &desc);
1596 
1598  void AddInternalDocument(const string &name, const string &ver, const string &desc);
1599 
1600  // serialization
1602  virtual void Save(const string &pbkfile, bool verbose = false);
1604  virtual void Save(ostream &os, bool verbose = false);
1606  virtual void Load(const string &pbkfile, bool verbose = false);
1608  virtual void Load(istream &is, const string &bkname, bool verbose = false);
1609 
1610  virtual bool CheckRemoval(bool quiet = false);
1611 
1612  void Remove(bool force);
1613 
1614  // ----- Common
1621  virtual bool RemoveObject(const string &otype, const string &oname, bool checkonly);
1622 
1623  virtual ~CALDDomain();
1624 };
1625 
1627 typedef shared_ptr<CALDDomain> CALDDomainPtr;
1628 
1633 
1641 bool UpdateServiceInKeytab(CALDConnectionPtr Conn, const string &keytab, const string &service, bool create);
1642 
1644 void ShowLdapOperInfo(CALDObject &object, ostream &out);
1645 
1651 void SetALDTimestamp(CALDObject &object, const string &tsname, time_t ts = 0); // 0 - now
1652 
1654 string GetALDTimestamp(CALDObject &object, const string &tsname);
1655 
1659  // cppcheck-suppress unusedStructMember
1660  bool quiet;
1661  // cppcheck-suppress unusedStructMember
1662  void *extra;
1663 };
1664 
1666 struct ald_pam_user_extra {
1670  string user;
1671  string home;
1672  string hometype;
1673  string homeserver;
1674  uid_t uid;
1675  gid_t gid;
1677  unsigned int ctrls;
1678  // cppcheck-suppress unusedStructMember
1679  void *pamh;
1680  // cppcheck-suppress unusedStructMember
1681  void *extra;
1682  //
1683  IALDCore* pCore;
1684  bool bClientOn;
1685  bool bLoggedInCached;
1686  bool bHostDisabled;
1687  bool bUserLocked;
1688  bool bUserPermittedToHost;
1689  int ngids;
1690  gid_t *pgids;
1691 };
1692 
1696  string otype;
1697  ostream *os;
1698  // cppcheck-suppress unusedStructMember
1699  bool verbose;
1700  // cppcheck-suppress unusedStructMember
1701  void *extra;
1702 };
1703 
1707  string version;
1708  istream *is;
1709  // cppcheck-suppress unusedStructMember
1710  size_t nline;
1711  // cppcheck-suppress unusedStructMember
1712  bool loaded;
1713  // cppcheck-suppress unusedStructMember
1714  bool verbose;
1715  // cppcheck-suppress unusedStructMember
1716  void *extra;
1717 };
1718 
1719 
1723  string otype;
1724  // cppcheck-suppress unusedStructMember
1725  bool checkonly;
1726  // cppcheck-suppress unusedStructMember
1727  bool deleted;
1728  // cppcheck-suppress unusedStructMember
1729  void *extra;
1730 };
1731 
1735  string id;
1736  string type;
1737  string data;
1738  string error;
1739  bool done;
1740  bool skip;
1741  void *extra;
1742 };
1744 
1746 #define CHECK_VALID ALD_CHECK(m_bValid, ERR_INVALID_OBJECT)
1748 #define CHECK_NAME_VALID ALD_CHECK(!m_strName.empty(), ERR_INVALID_OBJECT)
1749 #define QLOG_WARN(warn) {if(!quiet) LOG_WARN(warn);}
1750 #define QLOG_ERR(warn) {if(!quiet) LOG_ERR(warn);}
1751 #define QALD_ERR(err) {if(!quiet) ALD_ERROR(err);}
1752 
1755 #define ALD_OBJECT_TRIGGER_CHECK(action, quiet) TriggerAction(ALD_OBJECT_ACTION(PFM2Name(__PRETTY_FUNCTION__), \
1757  it->first), aotatCheck, quite)
1758 #define ALD_OBJECT_TRIGGER_ACTION(action, quiet) TriggerAction(ALD_OBJECT_ACTION(PFM2Name(__PRETTY_FUNCTION__), \
1759  it->first), aotatAction, quite)
1760 
1763 #define ALD_OBJECT_START_OPERATION(op, arg) StartOperation(PFM2Name(__PRETTY_FUNCTION__), op, arg, "", false)
1765 #define ALD_OBJECT_START_OPERATION_FORCE(op, arg, force) StartOperation(PFM2Name(__PRETTY_FUNCTION__), op, arg, "", force)
1766 #define ALD_OBJECT_START_OPERATION_DETAIL(op, arg, det) StartOperation(PFM2Name(__PRETTY_FUNCTION__), op, arg, det, false)
1767 #define ALD_OBJECT_COMMIT_OPERATION(op) CommitOperation(PFM2Name(__PRETTY_FUNCTION__), op, false)
1768 #define ALD_OBJECT_COMMIT_OPERATION_PE(op) CommitOperation(PFM2Name(__PRETTY_FUNCTION__), op, true)
1769 #define ALD_OBJECT_COMMIT_OPERATION_PEQ(op) CommitOperation(PFM2Name(__PRETTY_FUNCTION__), op, true, quiet)
1770 
1773 bool IfAdminCanManageHost(CALDConnectionPtr conn, const string& admin, const string& host);
1774 
1776 bool IfAdminCanManageHostGroup(CALDConnectionPtr conn, const string& admin, const string& hostgroup);
1777 
1779 } // ALD
1780 
1781 #endif // ALD_OBJECTS
ALD::CALDTrustedDomainPtr
shared_ptr< CALDTrustedDomain > CALDTrustedDomainPtr
Разделяемый указатель на объект CALDTrustedDomain.
Definition: ALDObjects.h:1204
ALD::CALDTask
Класс ALD - задание
Definition: ALDObjects.h:685
ALD::CALDTaskPtr
shared_ptr< CALDTask > CALDTaskPtr
Разделяемый указатель на объект CALDTask.
Definition: ALDObjects.h:724
ALD::CALDDomainPtr
shared_ptr< CALDDomain > CALDDomainPtr
Разделяемый указатель на объект CALDDomain.
Definition: ALDObjects.h:1627
ALD::ald_pam_user_extra::homeserver
string homeserver
Сервер домашнего каталога
Definition: ALDObjects.h:1673
ALD::CALDGroup::m_GID
gid_t m_GID
GID.
Definition: ALDObjects.h:609
ALD::CALDEvTask::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDHost::flags
string const flags() const
Возвращает строку флагов компьютера
ALD::GetALDTimestamp
string GetALDTimestamp(CALDObject &object, const string &tsname)
Возвращает текстовое представление именованной метки времени объекта
ALD::CALDDomainLogCfg::m_strLogDest
string m_strLogDest
Расположение файла журнала
Definition: ALDObjects.h:1091
ALD::CALDUser::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::ald_task_extra::extra
void * extra
Доп. параметр
Definition: ALDObjects.h:1741
ALD::ald_delete_object_extra::conn
CALDConnectionPtr conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:1722
ALD::CALDAdmGroup
Класс ALD - группа администраторов
Definition: ALDObjects.h:1050
ALD::CALDUser::shell
string shell()
Возвращает оболочку
ALD::CALDTask::CALDTask
CALDTask(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDDomain::EnumerateFileServers
void EnumerateFileServers(ald_string_list &fileservers)
Получение списка файлсерверов
ALD::CALDHost::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDObject::conn
CALDConnectionPtr conn() const
Возвращает раздеряемый указатель на соединение
Definition: ALDObjects.h:293
ALD::CALDTask::SetErrorState
virtual void SetErrorState(const string &e)
Установка статуса ошибки
ALD::CALDTrustedDomain::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDDomain::Get
virtual bool Get(const string &domain="", ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::aooGet
@ aooGet
Получение
Definition: ALDObjects.h:97
ALD::ShowLdapOperInfo
void ShowLdapOperInfo(CALDObject &object, ostream &out)
Печать операционной информации LDAP по указанному объекту в заданный поток вывода
ALD::CALDService::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDDomain::AddUser
void AddUser(const string &user, const string &pwd, const string &hometype, const string &home, const string &homesrv, const string &shell, const string &gecos, const string &desc, const string &full_name, const string &policy, const string &lgroups, gid_t gid=ALD_INVALID_ID, uid_t uid=ALD_INVALID_ID, bool needpwchange=false)
Создание пользователя
ALD::CALDTask::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
Definition: ALDObjects.h:690
ALD::CALDGroupPtr
shared_ptr< CALDGroup > CALDGroupPtr
Разделяемый указатель на объект CALDGroup.
Definition: ALDObjects.h:653
ALD::CALDDomain::ResolveHost
bool ResolveHost(const string &host, string &hostname, bool quiet=false)
Поиск компьютера по имени с нормализацией
ALD::CALDPolicy::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDDomain::ResolveALDServer
bool ResolveALDServer(string &host, unsigned int &server_id, bool quiet=false)
Поиск ALD сервера по имени или идентификатору
ALD::CALDDomain::desc
string desc()
Возвращает описание
ALD::CALDDomainLogCfg::Remove
void Remove(bool force)
Перегружаемый метод удаления
ALD::CALDDomain::ResolveGroup
bool ResolveGroup(const string &group, string &groupname, string &gid, bool quiet=false)
Поиск группы по имени или gid.
ALD::ald_task_extra::data
string data
Данные задания
Definition: ALDObjects.h:1737
ALD::CALDTrustedDomain::strOutTGT
string const & strOutTGT()
ALD::CALDHost::Update
virtual void Update(const string &hostdesc)
Перегружаемая функция обновления объекта
ALD::CALDUser::m_Caps
ald_user_caps m_Caps
Вектор ALD привилегий
Definition: ALDObjects.h:473
ALD::CALDDomain::NextTID
unsigned int NextTID(bool generate)
Получение следующего TID (если указан generate - продвигает)
ALD::ald_task_extra::skip
bool skip
Признак пропуска задания
Definition: ALDObjects.h:1740
ALD::CALDTask::status
ald_task_status status() const
Возвращает статус
ALD::CALDHost::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDHostGroup
Класс ALD - группа компьютеров
Definition: ALDObjects.h:913
ALD::CALDGroup::pmembers
void pmembers(ald_string_list &pmemlist)
Возвращает список первичных членов
ALD::CALDAdmGroup::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD_INFO_UNCHANGED
#define ALD_INFO_UNCHANGED
Изменение уровня информации не требуется
Definition: ALDObjects.h:113
ALD::CALDTrustedDomain::EnsureEntity
virtual void EnsureEntity()
Создание внутренней сущности объекта (m_Entity)
ALD::CALDUser::InternalUpdate
virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra)
Перегружаемый внутренний вызов модификации объекта
ALD::CALDUser::lgroups
void lgroups(ald_string_list &lgrouplist)
Возвращает список локальных групп
ALD::CALDObject::Get
virtual bool Get(const string &oname, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)=0
Перегружаемый метод получения информации об объекте
ALD::CALDPolicyPtr
shared_ptr< CALDPolicy > CALDPolicyPtr
Разделяемый указатель на объект CALDPolicy.
Definition: ALDObjects.h:820
ALD::CALDObject::m_InfoLevel
ald_info_level m_InfoLevel
Текущий уровень информации
Definition: ALDObjects.h:136
ALD::CALDUser::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDSvcGroup::AddService
void AddService(const string &service)
Добавление сервиса в группу
ALD::CALDDomainLogCfg::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDObject::EnsureEntity
virtual void EnsureEntity()
Создание внутренней сущности объекта (m_Entity)
ALD::CALDUser::sgroups
void sgroups(ald_string_list &sgrouplist)
Возвращает список вторичных групп
ALD::CALDTrustedDomain::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDHostGroup::IsSystemObject
virtual bool IsSystemObject()
Возвращает признак системного объекта
ALD::CALDTask::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDObject::IsValid
bool IsValid() const
Возвращает признак валидности объекта
Definition: ALDObjects.h:305
ALD::CALDUser::SetPhoto
void SetPhoto(const char *buff, unsigned long len)
Установка фотографии
ALD::CALDService::InternalRemove
virtual void InternalRemove(bool force, void *extra=NULL)
Перегружаемый внутренний вызов удаления объекта
ALD::CALDDomain::EnumeratePolicies
void EnumeratePolicies(ald_string_list &policies)
Получение списка политик
ALD::CALDEvTask::CALDEvTask
CALDEvTask(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDDocument::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDUser::policy
string policy()
Возвращает имя политики
ALD::ald_pam_user_extra::extra
void * extra
Доп. параметр
Definition: ALDObjects.h:1681
ALD::CALDDomainLogCfg::RmTemplate
void RmTemplate(const string &tpl_name)
Удаление шаблона протоколирования по имени
ALD::CALDUser::Get
virtual bool Get(const string &user, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDHost::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDHostGroup::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::aolfsError
@ aolfsError
Ошибка при загрузке
Definition: ALDObjects.h:92
ALD::CALDTask::Get
virtual bool Get(const string &ID, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDDomainLogCfg::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDObject::entity
CALDLdapEntPtr entity() const
Возвращает раздеряемый указатель на LDAP сущность
Definition: ALDObjects.h:295
ALD::CALDDomain::NextUID
uid_t NextUID(bool generate)
Получение следующего UID (если указан generate - продвигает)
ALD::CALDTask::m_Status
ald_task_status m_Status
Статус задания
Definition: ALDObjects.h:688
ALD::ald_pam_user_extra::pamh
void * pamh
Дескриптор PAM сессии
Definition: ALDObjects.h:1679
ALD::CALDPolicy::Update
virtual void Update(unsigned int setmask, unsigned int newminlife, unsigned int newmaxlife, unsigned int newminlength, unsigned int newminclasses, unsigned int newhistorynum, unsigned int newmaxfail, unsigned int newfailcntinterval, unsigned int newlockoutduration)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALD::aooModify
@ aooModify
Модификация
Definition: ALDObjects.h:99
ALD::CALDHostPtr
shared_ptr< CALDHost > CALDHostPtr
Разделяемый указатель на объект CALDHost.
Definition: ALDObjects.h:1044
ALD::CALDTrustedDomain::outTGT
CALDKrbPrincipalPtr outTGT()
Возвращает тип OutTGT принципал
ALD::CALDUser::fullname
string fullname()
Возвращает полное имя
ALD::CALDDocument::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDPolicy::CheckConsistency
virtual bool CheckConsistency(string &msg)
Проверка целостности объекта
ALD::GetHost
CALDHostPtr GetHost(CALDConnectionPtr Conn)
Возвращает разделяемый указатель на объект комьютер для текущего хоста
ALD::CALDObject::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)=0
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDPolicy::InternalUpdate
virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra=NULL)
Перегружаемый внутренний вызов модификации объекта
ALD::CALDUser::pgroup
string pgroup()
Возвращает имя первичной группы
ALD::CALDTask::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDHost::Get
virtual bool Get(const string &host, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDDomain::server_timestamp
string server_timestamp()
Возвращает метку времени сервера
ALD::CALDObject::InternalCreate
virtual void InternalCreate(void *extra=NULL)
Перегружаемый внутренний вызов создания объекта
ALD::CALDUser::SetAllowedHosts
void SetAllowedHosts(const ald_string_list &hosts, const ald_string_list &hgroups)
Установка разрешенных компьютеров и групп
ALD::CALDDomain::address
string address()
Возвращает адрес
ALD::CALDTask::Create
virtual void Create(unsigned int ID, const string &TaskType, const string &TaskData)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDTrustedDomain::strDirection
string strDirection() const
Возвращает описание типа отношений
ALD::CALDDomainLogCfg::Update
virtual void Update(const string &newdest)
Перегружаемая функция обновления объекта
ALD::ald_task_extra::conn
CALDConnectionPtr conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:1734
ALD::CALDDomain::AddService
void AddService(const string &service)
Создание сервиса
ALD::CALDDocument
Класс ALD - документ
Definition: ALDObjects.h:1235
ALD::CALDHost::hservices
void hservices(ald_string_list &svclist)
Возвращает список сервисов компьютера
ALD::CALDUser::home
string home()
Возвращает домашний каталог
ALD::ald_pam_user_extra::user
string user
Пользователь
Definition: ALDObjects.h:1670
ALD::CALDServicePtr
shared_ptr< CALDService > CALDServicePtr
Разделяемый указатель на объект CALDService.
Definition: ALDObjects.h:854
ALD::ald_pam_user_extra::mounts
ald_string_list mounts
Список монтируемых каталогов
Definition: ALDObjects.h:1676
ALD::CALDPolicy::InternalCreate
virtual void InternalCreate(void *extra=NULL)
Перегружаемый внутренний вызов создания объекта
ALD::CALDTask::err
string err() const
Возвращает ошибку
ALD::CALDDomain::CreateTask
string CreateTask(const string &TaskType, const string &TaskData)
Создание задания
ALD::CALDObject::LoadField
static aoLoadFieldStatus LoadField(istream &is, size_t &nline, string &line, const string &field, string &value, bool fuzzy=false)
Статический вызов загрузки поля
ALD::CALDDomainLogCfg::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::IfAdminCanManageHost
bool IfAdminCanManageHost(CALDConnectionPtr conn, const string &admin, const string &host)
Проверка возможности управления компьютером указанным администратором
ALD::CALDSvcGroup::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDEvTask
Класс ALD - событие
Definition: ALDObjects.h:730
ALD::CALDDomain::RotateTasks
void RotateTasks()
Ротация - удаление устаревших завершенных заданий
ALD::CALDAdmGroup::Remove
void Remove(bool force)
Перегружаемый метод удаления
ALD::ald_portable_load_extra::version
string version
Версия
Definition: ALDObjects.h:1707
ALD::CALDGroup::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDSvcGroup::CALDSvcGroup
CALDSvcGroup(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDTrustedDomain::m_strKDC
string m_strKDC
Имя контроллера домена
Definition: ALDObjects.h:1153
ALD::CALDTrustedDomain::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
Definition: ALDObjects.h:1164
ALD::CALDGroup::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDUser::strGID
string const & strGID()
Возвращает строковое представление GID пользователя
ALD::CALDAdmGroup::members
void members(ald_string_list &userlist)
Возвращает список членов
ALD::CALDPolicy::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDTask::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDAdmGroup::AddMember
void AddMember(const string &user)
Добавление члена группы
ALD::CALDEvTask::Create
virtual void Create(unsigned int ID, const string &TaskType, const string &TaskData)
Перегружаемая функция создания объекта по базовым параметрам
ALD::ald_portable_save_extra::extra
void * extra
Доп. параметр
Definition: ALDObjects.h:1701
ALD::CALDObject::TriggerAction
bool TriggerAction(const string &action, aoTriggerActionType atype, bool quiet=false)
Генерация события об объекте
ALD::CALDPolicy::m_krbPolicy
CALDKrbPolicyPtr m_krbPolicy
Указатель на политику Kerberos.
Definition: ALDObjects.h:762
ALD::CALDDomain::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDTrustedDomain::desc
string desc()
Возвращает описание
ALD::CALDUser::m_strUID
string m_strUID
Строковое представление UID пользователя
Definition: ALDObjects.h:469
ALD::CALDHostGroup::Create
virtual void Create(const string &newname, const string &newdesc)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDService::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDUser::EnsureEntity
virtual void EnsureEntity()
Создание внутренней сущности объекта (m_Entity)
ALD::CALDTrustedDomain::CALDTrustedDomain
CALDTrustedDomain(CALDConnectionPtr Conn)
Конструктор объекта
ALD::ald_pam_user_extra
Definition: ALDObjects.h:1668
ALD::CALDTrustedDomain::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDObject::EnsureInfoLevel
virtual void EnsureInfoLevel(ald_info_level level)
Обеспечение указанного уровня информации
ALD::CALDHost::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDUser::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDObject::CommitOperation
virtual void CommitOperation(const string &object, aoOperation op, bool process=false, bool quiet=false)
Перегружаемый внутренний вызов завершения действия с объектом
ALD::CALDHostGroup::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDDomain::CALDDomain
CALDDomain(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDDocument::version
string const & version()
Возвращает версию
ALD::CALDHost::SetFlags
virtual void SetFlags(const string &newflags, unsigned int newID)
Установка новых флагов и идентификатора сервера
ALD::CALDUser::InternalRemove
virtual void InternalRemove(bool force, void *extra=NULL)
Перегружаемый внутренний вызов удаления объекта
ALD::CALDHostGroup::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDService::princ
CALDKrbPrincipalPtr princ() const
Возвращает приципал Kerberos.
Definition: ALDObjects.h:842
ALD::ald_object_action_extra::quiet
bool quiet
Признак тихого режима
Definition: ALDObjects.h:1660
ALD::CALDGroup::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::ald_portable_load_extra::verbose
bool verbose
Признак вывода информации
Definition: ALDObjects.h:1714
ALD::CALDObject::~CALDObject
virtual ~CALDObject()
Деструктор объекта
ALD::CALDDocument::title
string title()
Возвращает заголовок
ALD::ald_user_caps
unsigned int ald_user_caps
Вектор ALD привилегий
Definition: ALDObjects.h:416
ALD::CALDObjPtr
shared_ptr< CALDObject > CALDObjPtr
Разделяемый указатель на объект CALDObject.
Definition: ALDObjects.h:391
ALD::CALDService::sgroups
void sgroups(ald_string_list &svcgrouplist)
Возвращает список групп сервисов
ALD::CALDHostGroup::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::ald_task_extra::done
bool done
Признак успеха выполнения
Definition: ALDObjects.h:1739
ALD::CALDUser::GetPhoto
void * GetPhoto(unsigned long &len)
Получение фотографии, результат должен быть освобожден (free)
ALD::CALDObject::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)=0
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::GetServer
CALDHostPtr GetServer(CALDConnectionPtr Conn)
Возвращает разделяемый указатель на объект комьютер для сервера
ALD::CALDDocument::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDPolicy::max_fail
unsigned int max_fail() const
Возвращает максимально число неуспешных попыток
ALD::CALDPolicy::m_HistoryNum
unsigned int m_HistoryNum
Длина истории паролей
Definition: ALDObjects.h:761
ALD::CALDHostGroup::InternalUpdate
virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra)
Перегружаемый внутренний вызов модификации объекта
ALD::CALDObject
Абстрактный базовый класс объекта Astra Linux Directory.
Definition: ALDObjects.h:133
ALD::CALDPolicy::lockout_duration
unsigned int lockout_duration() const
Возвращает продолжительность блокировки
ALD::CALDUser::m_krbPrinc
CALDKrbPrincipalPtr m_krbPrinc
Разделяемый указатель на принципал Kerberos.
Definition: ALDObjects.h:468
ALD::CALDDomainLogCfg::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDTask::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDSvcGroup::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDDocument::m_strVersion
string m_strVersion
Версия документа
Definition: ALDObjects.h:1237
ALD::CALDAdmGroup::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDObject::CALDObject
CALDObject(const string &type, CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDKrbPolicyPtr
shared_ptr< CALDKrbPolicy > CALDKrbPolicyPtr
Разделяемый указатель на политику паролей Kerberos CALDKrbPolicy.
Definition: kadm5-wrapper.h:111
ALD::CALDDomain::EnumerateALDServers
void EnumerateALDServers(ald_string_list &servers)
Получение списка серверов ALD.
ALD::CALDDomain::RemoveObject
virtual bool RemoveObject(const string &otype, const string &oname, bool checkonly)
Удаление объекта домена ALD.
ALD::CALDService::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDUser::SetLinuxCaps
void SetLinuxCaps(ald_linux_caps newcaps)
Установка Linux привилегий
ALD::ald_delete_object_extra::otype
string otype
Тип объекта
Definition: ALDObjects.h:1723
ALD::CALDUser::strUID
string const & strUID()
Возвращает строковое представление UID пользователя
ALD::CALDTrustedDomain::InternalRemove
virtual void InternalRemove(bool force, void *extra=NULL)
Перегружаемый внутренний вызов удаления объекта
ALD::CALDHost::princ
CALDKrbPrincipalPtr princ()
Возвращает принципал Kerberos.
ALD::CALDDomain
Класс ALD - домен
Definition: ALDObjects.h:1293
ALD::ald_object_action_extra::conn
CALDConnectionPtr conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:1658
ALD::CALDTrustedDomain::m_uDirection
unsigned int m_uDirection
Тип отношений
Definition: ALDObjects.h:1154
ALD::aoTriggerActionType
aoTriggerActionType
Тип вызова триггера на события с объектом
Definition: ALDObjects.h:104
ALD::CALDUser::AllowedHostGroups
void AllowedHostGroups(ald_string_list &hgrouplist)
Возвращает список разрешенных групп компьютеров
ALD::CALDAdmGroup::IsMember
bool IsMember(const string &user)
Проверка на членство
ALD::CALDGroup::m_strGID
string m_strGID
Тестовое представление GID.
Definition: ALDObjects.h:608
ALD::ald_pam_user_extra::ctrls
unsigned int ctrls
Опции PAM.
Definition: ALDObjects.h:1677
ALD::CALDPolicy::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDObject::m_Entity
CALDLdapEntPtr m_Entity
Разделяемый указатель на LDAP сущность объекта
Definition: ALDObjects.h:144
ALD::ald_portable_load_extra::conn
CALDConnectionPtr conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:1706
ALD::CALDHostGroup::members
void members(ald_string_list &memlist)
Возвращает список членов группы
ALD::CALDService::CALDService
CALDService(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDPolicy::failcnt_interval
unsigned int failcnt_interval() const
Возвращает интервал между попытками
ALD::CALDTrustedDomain::InternalSetName
void InternalSetName(const string &domain)
Синтез имен принципалов по домену
ALD::CALDGroup::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDSvcGroup::services
void services(ald_string_list &svclist)
Возвращает список сервисов группы
ALD::CALDObject::m_bSystem
bool m_bSystem
Признак системного объекта
Definition: ALDObjects.h:140
ALD::CALDGroup::IsSystemObject
virtual bool IsSystemObject()
Возвращает признак системного объекта
ALD::CALDDomain::EnumerateServices
void EnumerateServices(ald_string_list &services)
Получение списка сервисов
ALD::aotatCheck
@ aotatCheck
Проверка
Definition: ALDObjects.h:106
ALD::CALDObject::LoadFields
static aoLoadFieldStatus LoadFields(istream &is, size_t &nline, string &line, const string &field, ald_string_list &values)
Статический вызов загрузки множества одноименных полей
ALD::CALDDomain::RaiseEvent
string RaiseEvent(const string &TaskType, const string &TaskData)
Создание события
ALD::CALDHost::desc
string desc()
Возвращает описание
ALD::ald_object_action_extra::extra
void * extra
Доп. параметр
Definition: ALDObjects.h:1662
ALD::CALDObject::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDDomain::EnumerateGroups
void EnumerateGroups(ald_string_list &groups)
Получение списка групп
ALD::CALDHost::InternalCreate
virtual void InternalCreate(void *extra=NULL)
Перегружаемый внутренний вызов создания объекта
ALD::CALDUser::CALDUser
CALDUser(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDDocumentPtr
shared_ptr< CALDDocument > CALDDocumentPtr
Разделяемый указатель на объект CALDDocument.
Definition: ALDObjects.h:1278
ALD::CALDObject::Load
virtual void Load(istream &is, size_t &nline, bool verbose=false)
Загрузка объекта из потока
ALD::ald_portable_save_extra::otype
string otype
Тип объекта
Definition: ALDObjects.h:1696
ALD::CALDUser::m_UID
uid_t m_UID
UID пользователя
Definition: ALDObjects.h:470
ALD::CALDTrustedDomain::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDHostGroup::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDDomain::NextEID
unsigned int NextEID(bool generate)
Получение следующего EID (если указан generate - продвигает)
ALD::CALDDomain::EnumeratePrivilegedUsers
void EnumeratePrivilegedUsers(ald_string_list &users)
Получение списка привилегированных пользователя
ALD::CALDHost::serverID
unsigned int serverID()
Возвращает идентификатор сервера
ALD::CALDDomain::AddDocument
void AddDocument(const string &name, const string &title, const string &location, const string &ver, const string &desc)
Создание внешнего документа
ALD::CALDDocument::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDGroup::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDObject::IsSystemObject
virtual bool IsSystemObject()
Возвращает признак системного объекта
Definition: ALDObjects.h:307
ALD::CALDService::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDPolicy::m_MaxLife
unsigned int m_MaxLife
Максимальное время жизни
Definition: ALDObjects.h:758
ALD::CALDDocument::CALDDocument
CALDDocument(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDObject::Refresh
virtual bool Refresh(ald_info_level level=ALD_INFO_UNCHANGED, bool quiet=false)
Повторное полчение информации об объекте
ALD::CALDDomainLogCfg::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDDomain::Load
virtual void Load(const string &pbkfile, bool verbose=false)
Восстановление домена в переносимом текстовом формате из указанного файла
ALD::CALDDomain::AddHost
void AddHost(const string &host, const string &desc)
Создание компьютера
ALD::CALDObject::base
string const & base() const
Возвращает базовый путь поиска в LDAP.
ALD::aotatAction
@ aotatAction
Действие
Definition: ALDObjects.h:105
ALD::CALDDocument::Upload
virtual void Upload(const string &filename, bool overwrite)
Сохранение документа на сервер
ALD::CALDDomainLogCfg::ModTemplate
void ModTemplate(unsigned int setmask, const string &tpl_name, const string &suffix, const string &mode)
Модификация шаблон протоколирования по имени и маске
ALD::CALDUser::SetMICLevel
void SetMICLevel(unsigned int level)
Установка мандатного уровня целостности
ALD::CALDTrustedDomain::Create
virtual void Create(const string &domain, const string &newkdc, const string &newdesc, unsigned int newdir, const string &newpwd)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDService::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDHostGroup::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDObject::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::aoLoadFieldStatus
aoLoadFieldStatus
Статус загрузки поля объекта
Definition: ALDObjects.h:88
ALD::CALDDomain::Load
virtual void Load(istream &is, const string &bkname, bool verbose=false)
Восстановление домена в переносимом текстовом формате из указанного потока ввода
ALD::aolsContinue
@ aolsContinue
Продолжение загрузки
Definition: ALDObjects.h:83
ALD::IALDCore
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:242
ALD::CALDEvTask::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDObject::m_pCore
IALDCore * m_pCore
Указатель на интерфейс ядра
Definition: ALDObjects.h:142
ALD::CALDObject::InternalRemove
virtual void InternalRemove(bool force, void *extra=NULL)
Перегружаемый внутренний вызов удаления объекта
ALD::CALDPolicy::min_classes
unsigned int min_classes() const
Возвращает минимальное число классов
ALD::CALDSvcGroup::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDTask::data
string data()
Возвращает данные
ALD::CALDObject::m_Conn
CALDConnectionPtr m_Conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:143
ALD::CALDDomain::EnumerateServicesGroups
void EnumerateServicesGroups(ald_string_list &sgroups)
Получение списка групп сервисов
ALD::CALDDomain::taskHistory
unsigned int taskHistory()
Возвращает размер историии заданий
ALD::CALDDomainLogCfg::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDAdmGroup::GetLDAPMembers
void GetLDAPMembers(ald_string_list &memblist)
Возвращает список членов (LDAP DN)
ALD::CALDDomain::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDDomainLogCfg::Get
virtual bool Get(const string &oname="", ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDUser::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDHost::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDTrustedDomain::kdc
string const & kdc() const
Возвращает имя контроллера домена
ALD::CALDUser::SetCaps
void SetCaps(ald_user_caps newcaps)
Установка ALD привилегий
ALD::CALDAdmGroupPtr
shared_ptr< CALDAdmGroup > CALDAdmGroupPtr
Разделяемый указатель на объект CALDAdmGroup.
Definition: ALDObjects.h:1077
ALD::CALDUser::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::ald_portable_save_extra::verbose
bool verbose
Признак вывода информации
Definition: ALDObjects.h:1699
ALD::CALDPolicy
Класс ALD - политика
Definition: ALDObjects.h:755
ALD::CALDSvcGroup
Класс ALD - группа сервисов
Definition: ALDObjects.h:866
ALD::CALDDomain::SetTaskHistory
void SetTaskHistory(unsigned int value)
Устанавливает размер историии заданий
ALD::CALDSvcGroup::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDDocument::IsInternal
bool IsInternal()
Возвращает признак внутреннего документа
ALD::CALDHostGroup::CALDHostGroup
CALDHostGroup(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDDomain::Remove
void Remove(bool force)
Перегружаемый метод удаления
ALD::CALDTrustedDomain::m_strOutTGT
string m_strOutTGT
Имя OutTGT принципала Kerberos.
Definition: ALDObjects.h:1158
ALD::CALDPolicy::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDPolicy::min_length
unsigned int min_length() const
Возвращает минимальную длину
ALD::CALDUser::linuxCaps
ald_linux_caps linuxCaps()
Вектор Linux привилегий
ALD::CALDPolicy::IsSystemObject
virtual bool IsSystemObject()
Возвращает признак системного объекта
ALD_INFO_DEFAULT
#define ALD_INFO_DEFAULT
Уровень информации объекта по умолчанию
Definition: ALDObjects.h:116
ALD::CALDAdmGroup::CALDAdmGroup
CALDAdmGroup(CALDConnectionPtr Conn)
Конструктор объекта
ALD::ald_portable_load_extra::loaded
bool loaded
Признак успеха загрузки
Definition: ALDObjects.h:1712
ALD::CALDUser::homeserver
string homeserver()
Возвращает сервер домашнего каталога
ALD::CALDConnectionPtr
shared_ptr< CALDConnection > CALDConnectionPtr
Разделяемый указатель на соединение
Definition: ALDCoreUtils.h:104
ALD::CALDObject::CheckConsistency
virtual bool CheckConsistency(string &msg)
Проверка целостности объекта
ALD::CALDUserPtr
shared_ptr< CALDUser > CALDUserPtr
Разделяемый указатель на объект CALDUser.
Definition: ALDObjects.h:584
ALD::CALDUser::princ
CALDKrbPrincipalPtr princ()
Возвращает принципал Kerberos.
ALD::CALDHostGroup::desc
string desc()
Возвращает описание
ALD::CALDTrustedDomain::InternalUpdate
virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra=NULL)
Перегружаемый внутренний вызов модификации объекта
ALD::CALDUser::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDObject::name
string const & name() const
Возвращает имя объекта
ALD::ald_portable_save_extra::os
ostream * os
Указатель потока вывода
Definition: ALDObjects.h:1697
ALD::CALDHost::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDObject::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDPolicy::max_life
unsigned int max_life() const
Возвращает максимальное время жизни
ALD::CALDTask::timestamp
string timestamp()
Возвращает метку времени
ALD::CALDTask::strStatus
string strStatus() const
Возвращает описание статуса
ldap-wrapper.h
Объявление интерфейса взаимодействия с LDAP.
ALD::CALDObject::m_strBase
string m_strBase
Базовый путь поиска в LDAP.
Definition: ALDObjects.h:138
ALD::CALDDocument::Get
virtual bool Get(const string &name, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDTask::m_strType
string m_strType
Тип задания
Definition: ALDObjects.h:687
ALD::CALDUser::CheckConsistency
virtual bool CheckConsistency(string &msg)
Проверка целостности объекта
ALD::CALDGroup::strGID
string strGID()
Возвращает nестовое представление GID.
ALD::ald_string_multimap
multimap< string, string > ald_string_multimap
MultiMAP строка => строка
Definition: ALDUtils.h:166
ALD::CALDObject::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDUser::AllowedHosts
void AllowedHosts(ald_string_list &hostlist)
Возвращает список разрешенных компьютеров
ALD::CALDDomain::version
string const & version() const
Возвращает версию домена
ALD::CALDUser::gecos
string gecos()
Возвращает GECOS.
ALD::CALDDomain::EnumerateTasks
void EnumerateTasks(ald_string_list &tasks, unsigned int status_filter)
Получение списка заданий
ALD::CALDLdapEntPtr
shared_ptr< IALDLdapEntity > CALDLdapEntPtr
Разделяемый указатель на интерфейс записи LDAP IALDLdapEntity.
Definition: ldap-wrapper.h:102
ALD::aoOperation
aoOperation
Операции над объектом
Definition: ALDObjects.h:96
ALD::ald_pam_user_extra::home
string home
Домашний каталог
Definition: ALDObjects.h:1671
ALD::CALDTrustedDomain::inTGT
CALDKrbPrincipalPtr inTGT()
Возвращает тип InTGT принципал
ALD::CALDDocument::Create
virtual void Create(const string &newname, const string &newtitle, const string &newlocation, const string &newver, const string &newdesc)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDDomain::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDDomain::AddTrustedDomain
void AddTrustedDomain(const string &realm, const string &kdc, const string &desc, unsigned int newdir, const string &newpwd)
Создание довереного домена
ALD::CALDSvcGroup::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDPolicy::CALDPolicy
CALDPolicy(CALDConnectionPtr Conn)
Конструктор объекта
ALD::SetALDTimestamp
void SetALDTimestamp(CALDObject &object, const string &tsname, time_t ts=0)
Установка именнованной метки времени объекта
ALD::CALDTrustedDomain
Класс ALD - доверенный домен
Definition: ALDObjects.h:1151
ALD::CALDGroup::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDUser::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDDomain::EnumerateDocumentsSince
void EnumerateDocumentsSince(ald_string_list &docs, time_t since)
Плучение спсика внешних документов, созданных начиная с since.
ALD::CALDHostGroup::RmHost
void RmHost(const string &host)
Удаление компьютера из группы
ALD::CALDObject::Save
virtual void Save(ostream &os, bool verbose=false)
Сохранение в потоке
ALD::CALDAdmGroup::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::ald_object_action_extra
Структура событий объекта
Definition: ALDObjects.h:1657
ALD::CALDDomain::Update
virtual void Update(unsigned int setmask, const string &neworg, const string &newstate, const string &newtel, const string &newaddr, const string &newdesc)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALDLogProvider.h
Объявление подсистемы регистрации событий Astra Linux Directory.
ALD::CALDUser::Update
virtual void Update(unsigned int setmask, const string &newhometype, const string &newhome, const string &newhomesrv, const string &newshell, const string &newgecos, const string &newdesc, const string &newfull_name, const string &newpolicy, const string &newlgroups, gid_t newgid, uid_t newuid, bool needpwchange)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALD::CALDHostGroup::AddHost
void AddHost(const string &host)
Добавление компьютера в группу
ALD::CALDHost::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDSvcGroup::members
void members(ald_string_list &memlist)
Возвращает список членов группы
ALD::CALDUser::uid
uid_t uid()
Возвращает UID пользователя
ALD::CALDHost::m_krbPrinc
CALDKrbPrincipalPtr m_krbPrinc
Приципал Kerberos.
Definition: ALDObjects.h:987
ALD::CALDTrustedDomain::Get
virtual bool Get(const string &domain, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDGroup::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDDocument::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDDomain::EnumerateEventsSince
void EnumerateEventsSince(ald_string_list &events, time_t since)
Получение списка событий с указанного времени
ALD::CALDGroup::CALDGroup
CALDGroup(CALDConnectionPtr Conn)
Конструктор объекта
ALD::ald_task_extra::error
string error
Сообщение об ошибке
Definition: ALDObjects.h:1738
ALD::CALDSvcGroup::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDPolicy::m_MinClasses
unsigned int m_MinClasses
Минимальное число классов
Definition: ALDObjects.h:760
ALD::CALDDomainLogCfgPtr
shared_ptr< CALDDomainLogCfg > CALDDomainLogCfgPtr
Разделяемый указатель на объект CALDDomainLogCfg.
Definition: ALDObjects.h:1121
ALD::CALDTrustedDomain::direction
unsigned int direction() const
Возвращает тип отношений
ALD::aoLoadStatus
aoLoadStatus
Статус загрузки объекта
Definition: ALDObjects.h:81
ALD::CALDSvcGroup::RmService
void RmService(const string &service)
Удаление сервиса из группы
ALD::CALDObject::Remove
virtual void Remove(bool force=false)=0
Перегружаемый метод удаления
ALD::CALDAdmGroup::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDPolicy::krbpolicy
CALDKrbPolicyPtr krbpolicy() const
Возвращает политику Kerberos.
ALD::CALDDocument::Download
virtual void Download(const string &filename="")
Загрузка документа с сервера
ALD::CALDSvcGroup::Get
virtual bool Get(const string &sgroup, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDDomain::EnumerateTasksSince
void EnumerateTasksSince(ald_string_list &tasks, unsigned int status_filter, time_t since)
Получение списка заданий с указанного времени
ALD::CALDUser::m_GID
gid_t m_GID
GID пользователя
Definition: ALDObjects.h:472
ALD::CALDObject::m_strOType
string m_strOType
Тип объекта ALD.
Definition: ALDObjects.h:141
ALD::CALDTrustedDomain::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDDomain::EnumerateDocuments
void EnumerateDocuments(ald_string_list &docs, bool internal_oly)
Получение списка документов
common.h
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
ALD::CALDTask::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDObject::m_bValid
bool m_bValid
Признак валидности
Definition: ALDObjects.h:139
ALD::CALDPolicy::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDDomain::state
string state()
Возвращает округ
ALD::ald_portable_save_extra
Структура данных сохранения резервной копии (событие ALD_PORTABLE_SAVE)
Definition: ALDObjects.h:1694
ALD::CALDDomainLogCfg
Класс ALD - шаблоны протоколирования
Definition: ALDObjects.h:1089
ALD::CALDService
Класс ALD - сервис
Definition: ALDObjects.h:826
ALD::CALDGroup::RmMember
void RmMember(const string &user)
Удаление члена группы
ALD::CALDGroup::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::ald_task_extra
Структура данных обработки заданий (событие ALD_TASK_PENDING)
Definition: ALDObjects.h:1733
ALD::aooRemove
@ aooRemove
Удаление
Definition: ALDObjects.h:100
ALD::IfAdminCanManageHostGroup
bool IfAdminCanManageHostGroup(CALDConnectionPtr conn, const string &admin, const string &hostgroup)
Проверка возможности управления группой компьютеров указанным администратором
ALD::CALDHost::m_strFlags
string m_strFlags
Строка флагов компьютера
Definition: ALDObjects.h:985
ALD::CALDPolicy::min_life
unsigned int min_life() const
Возвращает минимальное время жизни
ALD::aolfsUnexpected
@ aolfsUnexpected
Неожиданное поле
Definition: ALDObjects.h:90
ALD::aolsError
@ aolsError
Ошибка при загрузке
Definition: ALDObjects.h:84
ALD::CALDAdmGroup::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::ald_pam_user_extra::gid
gid_t gid
GID.
Definition: ALDObjects.h:1675
ALD::UpdateServiceInKeytab
bool UpdateServiceInKeytab(CALDConnectionPtr Conn, const string &keytab, const string &service, bool create)
Обновление ключей сервиса в ключевом файле
ALD::CALDUser::InternalCreate
virtual void InternalCreate(void *extra=NULL)
Перегружаемый внутренний вызов создания объекта
ALD::CALDEvTask::SetOkState
virtual void SetOkState()
Установка статуса успешности
ALD::CALDHost::m_serverID
unsigned int m_serverID
Идентификатор сервера
Definition: ALDObjects.h:986
ALD::CALDDocument::desc
string desc()
Возвращает описание
ALD::CALDGroup::AddMember
void AddMember(const string &user)
Добавление члена группы
ALD::CALDUser::gid
gid_t gid()
Возвращает GID пользователя
ALD::CALDTrustedDomain::Update
virtual void Update(unsigned int setmask, const string &newkdc, const string &newdesc, unsigned int newdir)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALD
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
ALD::CALDObject::StartOperation
virtual bool StartOperation(const string &object, aoOperation op, const string &arg, const string &detail, bool force=false)
Перегружаемый внутренний вызов начала действия с объектом
ALD::CALDHost::InternalRemove
virtual void InternalRemove(bool force, void *extra=NULL)
Перегружаемый внутренний вызов удаления объекта
ALD::CALDDomain::ResolveService
bool ResolveService(const string &service, bool quiet=false)
Поиск сервиса по имени
ALD::CALDDomain::ResolveUser
bool ResolveUser(const string &user, string &username, string &uid, bool quiet=false)
Поиск пользователя по имени или gid.
ALD::CALDUser::Create
virtual void Create(const string &newname, const string &newpwd, const string &newhometype, const string &newhome, const string &newhomesrv, const string &newshell, const string &newgecos, const string &newdesc, const string &newfull_name, const string &newpolicy, const string &newlgroups, gid_t newgid, uid_t newuid, bool needpwchange=false)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDEvTaskPtr
shared_ptr< CALDEvTask > CALDEvTaskPtr
Разделяемый указатель на объект CALDEvTask.
Definition: ALDObjects.h:746
ALD::CALDHost
Класс ALD - компьютер
Definition: ALDObjects.h:983
ALD::CALDHost::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDPolicy::users
void users(ald_string_list &userlist)
Возвращает список пользователей с такой политикой
ALD::ald_portable_load_extra::is
istream * is
Указатель потока ввода
Definition: ALDObjects.h:1708
ALD::CALDUser::caps
ald_user_caps caps()
Вектор ALD привилегий
ALD::CALDSvcGroup::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::aolfsLoaded
@ aolfsLoaded
Успешно загружено
Definition: ALDObjects.h:89
ALD::CALDObject::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::ald_task_extra::type
string type
Тип задания
Definition: ALDObjects.h:1736
ALD::CALDDomainLogCfg::log_dest
string log_dest() const
Возвращает расположение файла журнала
ALD::CALDTrustedDomain::m_krbInTGT
CALDKrbPrincipalPtr m_krbInTGT
InTGT принципал Kerberos.
Definition: ALDObjects.h:1155
ALD::CALDHostGroup::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::ModHostFlags
string ModHostFlags(const string &flags, char flag, bool op)
Модификация строки флагов компьютера
ALD::ald_delete_object_extra::checkonly
bool checkonly
Только проверка без удаления
Definition: ALDObjects.h:1725
ALD::CALDUser::ChangePwd
virtual void ChangePwd(const string &pwd)
Функция смены пароля
ALD::CALDGroup::Get
virtual bool Get(const string &group, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDDomain::ResolvePolicy
bool ResolvePolicy(const string &policy, bool quiet=false)
Поиск политики по имени
ALD::ald_delete_object_extra::deleted
bool deleted
Признак успеха удаления
Definition: ALDObjects.h:1727
ALD::ald_portable_save_extra::conn
CALDConnectionPtr conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:1695
ALD::CALDTrustedDomain::strInTGT
string const & strInTGT()
Возвращает имя InTGT принципала
ALD::CALDDomain::RotateEvents
void RotateEvents()
Ротация - удаление устаревших событий
ALD::CALDPolicy::m_MinLength
unsigned int m_MinLength
Минимальная длина
Definition: ALDObjects.h:759
ALD::CALDObject::otype
const string & otype() const
Возвращает тип объекта ALD.
Definition: ALDObjects.h:303
ALD::CALDDocument::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDDomain::AddGroup
void AddGroup(const string &group, const string &desc, const ald_string_list &users, gid_t gid=ALD_INVALID_ID)
Создание группы
ALD::ald_pam_user_extra::conn
CALDConnectionPtr conn
Разделяемый указатель на соединение
Definition: ALDObjects.h:1669
ALD::CALDDocument::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDDomainLogCfg::templates
void templates(ald_string_list &tpllist)
Возвращает список шаблонов протоколирования
ALD::CALDTask::SetOkState
virtual void SetOkState()
Установка статуса успешности
ALD::CALDDomain::EnumerateTrustedDomains
void EnumerateTrustedDomains(ald_string_list &realms)
Получение списка доверенных доменов
ALD::CALDService::Get
virtual bool Get(const string &service, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDGroup::Update
virtual void Update(unsigned int setmask, const string &newname, gid_t newgid, const string &newdesc, const ald_string_list &newusers)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALD::aooCreate
@ aooCreate
Создание
Definition: ALDObjects.h:98
ALD::CALDDomain::Save
virtual void Save(const string &pbkfile, bool verbose=false)
Сохранение домена в переносимом текстовом формате в указанный файл
ALD::CALDDomain::NextGID
gid_t NextGID(bool generate)
Получение следующего GID (если указан generate - продвигает)
ALD::CALDHostGroupPtr
shared_ptr< CALDHostGroup > CALDHostGroupPtr
Разделяемый указатель на объект CALDHostGroup.
Definition: ALDObjects.h:948
ALD::CALDHost::hgroups
void hgroups(ald_string_list &hgrouplist)
ALD::CALDGroup::members
void members(ald_string_list &memlist)
Возвращает список членов
ALD::CALDEvTask::Get
virtual bool Get(const string &ID, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDDomain::m_strVersion
string m_strVersion
Версия домена
Definition: ALDObjects.h:1295
ALD::CALDObject::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)=0
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDTask::type
string const & type() const
Возвращает тип
ALD::CALDPolicy::Get
virtual bool Get(const string &policy, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDTask::id
string const & id() const
Возвращает идентификатор
ALD::CALDGroup::gid
gid_t gid()
Возвращает GID.
ALD::CALDGroup
Класс ALD - группа
Definition: ALDObjects.h:606
ALD::ald_portable_load_extra
Структура данных загрузки резервной копии (событие ALD_PORTABLE_LOAD)
Definition: ALDObjects.h:1705
ALD::CALDService::EnsureEntity
virtual void EnsureEntity()
Создание внутренней сущности объекта (m_Entity)
ALD::CALDAdmGroup::RmMember
void RmMember(const string &user)
Удаление члена группы
ALD::CALDGroup::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDUser
Класс ALD - пользователь
Definition: ALDObjects.h:466
ALD::CALDDomain::ResolveTrustedDomain
bool ResolveTrustedDomain(const string &realm, string &kdc, bool quiet=false)
Поиск доверенного домена
ALD::CALDHost::Remove
virtual void Remove(bool force=false)
Перегружаемый метод удаления
ALD::CALDDomain::EnumerateUsers
void EnumerateUsers(ald_string_list &users)
Получение списка пользователя
ALD::CALDDomain::AddPolicy
void AddPolicy(const string &policy, unsigned int minlife, unsigned int maxlife, unsigned int minlength, unsigned int minclasses, unsigned int historynum, unsigned int newmaxfail, unsigned int newfailcntinterval, unsigned int newlockoutduration)
Создание политики
ALD::CALDTrustedDomain::ValidateProperty
virtual bool ValidateProperty(int property, const void *value, string *msg, bool quiet)
Проверка поля объекта
ALD::CALDGroup::Create
virtual void Create(const string &newname, const string &newdesc, const ald_string_list &newusers, gid_t newgid)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDDomain::UpdateServerTimestamp
void UpdateServerTimestamp()
Обновляет метку времени сервера
ALD::CALDHost::CALDHost
CALDHost(CALDConnectionPtr Conn)
Конструктор объекта
ALD::aolfsEnd
@ aolfsEnd
Поля кончились
Definition: ALDObjects.h:91
ALD::CALDUser::miclevel
unsigned int miclevel()
Возвращает мандатный уровень целостности
ALDCore.h
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
ALD::CALDSvcGroupPtr
shared_ptr< CALDSvcGroup > CALDSvcGroupPtr
Разделяемый указатель на объект CALDSvcGroup.
Definition: ALDObjects.h:892
ALD::CALDDocument::CheckRemoval
virtual bool CheckRemoval(bool quiet=false)
Проверка удаления
ALD::CALDDomainLogCfg::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDPolicy::InternalSave
virtual void InternalSave(ostream &os, bool verbose=false)
Перегружаемый вызов сохранения объекта в резервной копии
ALD::CALDDomain::Save
virtual void Save(ostream &os, bool verbose=false)
Сохранение домена в переносимом текстовом формате в указанный поток вывода
ALD::CALDPolicy::history_num
unsigned int history_num() const
Возвращает длину истории паролей
ALD::CALDDomainLogCfg::CALDDomainLogCfg
CALDDomainLogCfg(CALDConnectionPtr Conn)
Конструктор объекта
ALD::CALDDocument::Clear
virtual void Clear()
Перегружаемый метод очистки объекта
ALD::CALDTrustedDomain::m_strInTGT
string m_strInTGT
Имя InTGT принципала Kerberos.
Definition: ALDObjects.h:1157
ALD::CALDService::InternalCreate
virtual void InternalCreate(void *extra=NULL)
Перегружаемый внутренний вызов создания объекта
ALD::ald_portable_load_extra::nline
size_t nline
Номер строки
Definition: ALDObjects.h:1710
ALD::CALDPolicy::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::ald_pam_user_extra::hometype
string hometype
Тип домашнего каталога
Definition: ALDObjects.h:1672
ALD::CALDService::m_krbPrinc
CALDKrbPrincipalPtr m_krbPrinc
Принципал Kerberos.
Definition: ALDObjects.h:828
ALD::CALDAdmGroup::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDSvcGroup::Remove
void Remove(bool force)
Перегружаемый метод удаления
ALD::CALDDomain::org
string org()
Возвращает организацию
ALD::CALDTrustedDomain::InternalCreate
virtual void InternalCreate(void *extra=NULL)
Перегружаемый внутренний вызов создания объекта
ALD::CALDDomain::AddHostsGroup
void AddHostsGroup(const string &hgroup, const string &hgroupdesc)
Создание группы компьютеров
ALD::CALDTrustedDomain::m_krbOutTGT
CALDKrbPrincipalPtr m_krbOutTGT
OutTGT принципал Kerberos.
Definition: ALDObjects.h:1156
ALD::CALDUser::desc
string desc()
Возвращает описание
ALD_INVALID_ID
#define ALD_INVALID_ID
Неверный идентификатор
Definition: ALDObjects.h:28
ALD::CALDDomain::InternalNotice
virtual void InternalNotice(aoOperation op, const string &arg, const string &detail)
Перегружаемый внутренний вызов нотификации о действиях с объектом
ALD::CALDHost::Create
virtual void Create(const string &newhost, const string &newdesc)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDObject::m_strName
string m_strName
Наименование
Definition: ALDObjects.h:137
ALD::CALDDocument::Update
virtual void Update(unsigned int setmask, const string &newtitle, const string &newlocation, const string &newver, const string &newdesc)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALD::ald_pam_user_extra::uid
uid_t uid
UID.
Definition: ALDObjects.h:1674
ALD::ald_task_extra::id
string id
Идентификатор задания
Definition: ALDObjects.h:1735
ALD::CALDHost::EnsureEntity
virtual void EnsureEntity()
Создание внутренней сущности объекта (m_Entity)
ALD::CALDDomain::EnumerateHosts
void EnumerateHosts(ald_string_list &hosts)
Получение списка компьютеров
ALD::CALDDomain::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
Definition: ALDObjects.h:1300
ALD::CALDEvTask::SetErrorState
virtual void SetErrorState(const string &e)
Установка статуса ошибки
ALD::CALDDomain::telephon
string telephon()
Возвращает телефон
ALD::CALDService::InternalGet
virtual void InternalGet(string object, ald_info_level level, bool quiet=false)
Перегружаемый внутренний вызов получения информации об объекте
ALD::CALDDomain::EnumerateHomeServers
void EnumerateHomeServers(ald_string_list &homeservers)
Получение списка серверов домашних каталогов
ALD::CALDKrbPrincipalPtr
shared_ptr< CALDKrbPrincipal > CALDKrbPrincipalPtr
Разделяемый указатель на принципал Kerberos CALDKrbPrincipal.
Definition: kadm5-wrapper.h:185
ALD::ald_info_level
int ald_info_level
Уровень информации объекта
Definition: ALDObjects.h:110
ALD::CALDObject::InternalUpdate
virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra=NULL)
Перегружаемый внутренний вызов модификации объекта
ALD::CALDGroup::empty
bool empty()
Возвращает признак пустоты группы
ALD::CALDDocument::location
string const & location()
Возвращает расположение
ALD::CALDDomainLogCfg::GetTemplate
string GetTemplate(const string &tpl_name)
Возвращает шаблон протоколирования по имени
ALD::CALDHostGroup::Get
virtual bool Get(const string &hgroup, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDGroup::desc
string desc()
Возвращает описание
ALD::CALDService::Create
virtual void Create(const string &newname)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDDomain::ResolveHostsGroup
bool ResolveHostsGroup(const string &hgroup, bool quiet=false)
Поиск группы компьютеров по имени
ALD::ald_string_list
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
ALD::CALDObject::infolevel
ald_info_level infolevel() const
Возвращает текущий уровень информации объекта
Definition: ALDObjects.h:297
ALD::CALDService::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDAdmGroup::Get
virtual bool Get(const string &agroup, ald_info_level level=ALD_INFO_DEFAULT, bool quiet=false)
Перегружаемый метод получения информации об объекте
ALD::CALDDomain::EnumerateEvents
void EnumerateEvents(ald_string_list &events)
Получение списка событий
ALD::ald_delete_object_extra::extra
void * extra
Доп. параметр
Definition: ALDObjects.h:1729
ALD::CALDPolicy::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDDomain::EnumerateHostsGroups
void EnumerateHostsGroups(ald_string_list &hgroups)
Получение списка групп компьютеров
ALD::CALDHostGroup::Update
virtual void Update(unsigned int setmask, const string &newname, const string &newdesc, const ald_string_list &newhosts)
Перегружаемая функция обновления объекта по базовым параметрам с указанием маски изменений
ALD::ald_task_status
int ald_task_status
Статус/код ошибки задания
Definition: ALDObjects.h:656
ALD::aolsLoaded
@ aolsLoaded
Успешно загружен
Definition: ALDObjects.h:82
ALD::CALDDomain::InternalLoad
virtual aoLoadStatus InternalLoad(istream &is, size_t &nline, string &line, bool verbose=false)
Перегружаемый вызов загрузки объекта из резервной копии
ALD::CALDDocument::m_strLocation
string m_strLocation
Расположение документа
Definition: ALDObjects.h:1238
ALD::CALDPolicy::m_MinLife
unsigned int m_MinLife
Минимальное время жизни
Definition: ALDObjects.h:757
ALD::CALDUser::hometype
string hometype()
Возвращаеттип домашнего каталога
ALD::CALDGroup::InternalUpdate
virtual void InternalUpdate(unsigned int setmask, ald_string_multimap &attrs, void *extra)
Перегружаемый внутренний вызов модификации объекта
ALDCoreUtils.h
Объявление вспомогательных типов и функций работы с ядром Astra Linux Directory.
ALD::ald_portable_load_extra::extra
void * extra
Доп. параметр
Definition: ALDObjects.h:1716
ALD::CALDDomain::AddInternalDocument
void AddInternalDocument(const string &name, const string &ver, const string &desc)
Создание внутреннего документа
ALD::CALDHostGroup::hosts
void hosts(ald_string_list &hlist)
Возвращает список компьютеров группы
ALD::ald_delete_object_extra
Структура данных удаления объекта (событие ALD_DELETE_OBJECT)
Definition: ALDObjects.h:1721
ALD::CALDUser::m_strGID
string m_strGID
Строковое представление GID пользователя
Definition: ALDObjects.h:471
ALD::CALDUser::ProcessEntity
virtual bool ProcessEntity(bool quiet=false)
Проверка после получения информации
ALD::CALDPolicy::Create
virtual void Create(const string &newname, unsigned int newminlife, unsigned int newmaxlife, unsigned int newminlength, unsigned int newminclasses, unsigned int newhistorynum, unsigned int newmaxfail, unsigned int newfailcntinterval, unsigned int newlockoutduration)
Перегружаемая функция создания объекта по базовым параметрам
ALD::CALDPolicy::InternalRemove
virtual void InternalRemove(bool force, void *extra=NULL)
Перегружаемый внутренний вызов удаления объекта
ALD::CALDDomain::ResolveServicesGroup
bool ResolveServicesGroup(const string &sgroup, bool quiet=false)
Поиск группы сервисов по имени
ALD::CALDPolicy::EnsureEntity
virtual void EnsureEntity()
Создание внутренней сущности объекта (m_Entity)