이 절에서는 Calendar Server 유틸리티 D.5 cscal을 사용하여 사용자 달력을 관리하는 방법에 대한 지침을 제공합니다.
이 절에서는 다루는 관리 작업은 다음과 같습니다.
모든 달력, 한 사용자가 소유한 모든 달력 또는 특정 달력의 등록 정보를 표시하려면 cscal 유틸리티의 list 명령을 사용합니다.
다음 예에서는 cscal을 사용한 세 가지 서로 다른 작업을 보여 줍니다.
달력 데이터베이스의 모든 달력을 표시하려면 다음을 수행합니다.
cscal list
jsmith가 소유한 모든 달력을 나열하려면 다음 명령을 사용합니다.
cscal - o jsmith list
달력 아이디가 jsmith:meetings인 달력의 모든 등록 정보를 표시하려면 다음 명령을 사용합니다.
cscal -v list jsmith:meetings
Calendar Server에서 하나 이상의 달력을 삭제하려면 cscal 유틸리티의 delete 명령을 사용합니다. 이 유틸리티는 달력을 삭제하지만 사용자를 디렉토리 서버에서 삭제하지는 않습니다.
다음 두 예에서는 cscal delete를 사용하여 수행할 수 있는 두 가지 작업을 보여 줍니다.
달력 아이디가 jsmith@sesta.com:meetings인 특정 달력을 삭제하려면 다음을 수행합니다.
cscal delete jsmith@sesta.com:meetings
주 소유자가 jsmith@sesta.com인 모든 달력을 삭제하려면 다음을 수행합니다.
cscal -o jsmith@sesta.com delete
delete 명령은 달력 데이터베이스에서 모든 달력 정보를 제거하며 실행 취소할 수 없습니다. 달력을 삭제한 후에는 백업된 경우에만 달력 데이터를 복구할 수 있습니다. 자세한 내용은 17 장, Calendar Server 데이터 백업 및 복원을 참조하십시오.
Calendar Server 유틸리티 명령 csuser delete나 Delegated Administrator 콘솔 또는 유틸리티를 사용하여 한 명 이상의 사용자를 삭제한 경우 해당 사용자가 소유한 달력이 데이터베이스에 계속 남아 있을 수 있습니다.
따라서 다음 두 가지 방법 중 하나를 사용하여 사용자의 달력을 제거해야 합니다. 사용자를 삭제한 방법에 따라 달력 삭제 방법이 달라집니다.
csuser 유틸리티는 LDAP 디렉토리에서 사용자를 제거하고 사용자의 기본 달력을 제거하지만 사용자가 소유한 다른 달력은 제거하지 않습니다. cscal을 사용하여 이러한 달력을 제거하는 방법에 대한 자세한 내용은 Calendar Server 버전 6.3에서 csuser를 사용하여 삭제한 사용자의 모든 달력을 제거하려면을 참조하십시오.
Delegated Administrator로 달력이 제거되지는 않습니다. Delegated Administrator를 사용하여 사용자를 삭제 대상으로 표시한 후 Calendar Server 유틸리티 csclean을 사용하여 삭제 표시된 사용자의 달력을 제거합니다.
csclean을 사용하여 삭제된 사용자의 달력을 제거하는 방법에 대한 자세한 내용은 Delegated Administrator로 삭제한 사용자의 달력을 모두 제거하려면을 참조하십시오.
Delegated Administrator 유틸리티 사용에 대한 자세한 내용은 Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide를 참조하십시오.
Delegated Administrator 콘솔 사용에 대한 자세한 내용은 온라인 도움말을 참조하십시오.
cscal list를 실행하여 삭제된 소유자의 uid에 해당하는 달력을 모두 찾습니다.
cscal -o owner list
cscal 명령을 사용하여 해당 소유자의 모든 달력을 제거합니다.
cscal -o owner delete
csuser list를 다시 실행하여 달력이 모두 제거되었는지 확인합니다.
commadmin을 사용하여 사용자를 삭제됨으로 표시했고 사용자의 LDAP 항목이 이미 지워진 경우에 한해 이 절차를 사용합니다.
Delegated Administrator로 달력이 제거되지는 않습니다. csclean 유틸리티를 사용하여 Delegated Administrator를 사용하여 삭제됨으로 표시된 모든 사용자의 달력을 모두 제거합니다.
csclean을 사용하여 삭제됨으로 표시되었지만 아직 지워지지 않은 사용자의 달력을 모두 제거합니다.
예를 들어, 지난 10일 동안 sesta.com 도메인에서 삭제됨으로 표시된 사용자의 달력을 모두 제거하려면 다음 명령을 사용합니다.
csclean -g 10 clean sesta.com
사용자가 이미 LDAP에서 지워진 경우에는 cscal을 사용해야 합니다.
자세한 내용은 Calendar Server 버전 6.3에서 csuser를 사용하여 삭제한 사용자의 모든 달력을 제거하려면을 참조하십시오.
다른 사용자가 달력에 액세스할 수 있도록 허용하려면 먼저 cscal enable 명령을 사용하여 달력을 활성화해야 합니다.
다음 예에서는 달력을 활성화하는 방법을 보여 줍니다.
기본 구성 설정을 사용하여 jsmith@sesta.com:meetings 달력을 활성화하려면 다음을 수행합니다.
cscal enable jsmith@sesta.com:meetings
jsmith@sesta.com:meetings 달력을 활성화하지만 이중 예약은 허용하지 않으려면 다음 명령을 사용합니다.
cscal -k no enable jsmith@sesta.com:meetings
다른 사용자가 달력에 액세스하지 못하도록 하려면 cscal 유틸리티의 disable 명령을 사용합니다. disable 명령은 다른 사용자가 달력에 액세스하지 못하도록 하지만, 달력 데이터베이스에서 정보를 제거하지는 않습니다.
예를 들어 jsmith@sesta.com:meetings에 액세스할 수 없게 하려면 다음 명령을 사용합니다.
cscal disable jsmith@sesta.com:meetings
달력의 등록 정보를 수정하려면 cscal 유틸리티의 modify 명령을 사용합니다.
예를 들어, AllAdmins의 그룹 예약 액세스 제어 설정을 변경하고 RJones@sesta.com을 다른 소유자로 지정하려면 다음 명령을 사용합니다.
cscal -a "@@o^c^wd^g" -y RJones@sesta.com modify AllAdmins
다음은 앞의 예에서 사용한 두 명령 변수에 대해 설명합니다.
-a "@@o^c^wd^g"는 소유자에게 AllAdmins의 구성 요소(이벤트 및 작업)에 대한 쓰기 및 삭제 액세스 권한을 부여합니다.
-y RJones@sesta.com은 다른 사용자의 사용자 아이디를 지정합니다.
달력에서 등록 정보 값을 제거하려면 cscal modify 명령을 사용하고 옵션 값을 두 개의 큰따옴표("")로 지정합니다.
다음의 세 가지 예에서는 각각 다른 등록 정보를 제거하는 방법을 보여 줍니다.
jsmith@sesta.com:meetings에서 설명을 제거하려면 다음 명령을 사용합니다.
cscal -d "" modify jsmith@sesta.com:meetings
jsmith@sesta.com:meetings 달력에서 모든 범주를 제거하려면 다음 명령을 사용합니다.
cscal -g "" modify jsmith@sesta.com:meetings
jsmith@sesta.com:meetings에서 "다른 소유자"를 제거하려면 다음 명령을 사용합니다.
cscal -y "" modify jsmith@sesta.com:meetings
사용자의 기본 달력이 Communications Express 사용자 인터페이스 클라이언트에 표시되지 않지만 데이터베이스에는 있는 경우 사용자의 LDAP 항목에서 두 개의 속성을 업데이트하여 달력을 복구하고 다시 표시되도록 할 수 있습니다.
달력을 복구하려면 사용자의 LDAP 항목에서 다음 속성의 값이 사용자의 정규화된 calid인지 확인하십시오.
icsCalendar
icsSubscribed
스키마 버전 2의 경우 다음 방법 중 하나를 사용하여 속성을 업데이트합니다.
ldapmodify Directory Server 유틸리티를 사용합니다.
Calendar Server 유틸리티 명령 csuser reset을 사용합니다.
Delegated Administrator 유틸리티 명령 commadmin user modify를 사용합니다.
Delegated Administrator 콘솔을 사용하여 User Properties 페이지를 편집하여 기본 달력 이름을 추가합니다.
스키마 버전 1의 경우 csattribute add 명령을 사용하여 속성을 업데이트합니다.
사용자 달력을 한 백엔드 서버에서 다른 백엔드 서버로 옮기려면 다음 단계를 수행합니다.
원본 서버에서 D.19 csuser 유틸리티를 사용하여 달력 사용자를 비활성화합니다. 예를 들어, 사용자 아이디와 calid bkamdar이 있는 사용자를 사용 불가능하게 하려면 다음 명령을 사용합니다.
csuser disable bkamdar
원본 서버에서 D.10 csexport 유틸리티를 사용하여 달력 데이터베이스에서 파일로 각 사용자의 달력을 내보냅니다. 예를 들면 다음과 같습니다.
csexport -c bkamdar calendar bkamdar.ics
내보낸 달력(*.ics) 파일을 원본 서버에서 새 서버로 복사합니다.
새 서버에서 내보낸 각 달력에 대해 D.11 csimport 유틸리티를 사용하여 파일에서 달력 데이터베이스로 달력을 가져옵니다. 예를 들면 다음과 같습니다.
csimport -c bkamdar calendar bkamdar.ics
LDAP 디렉토리 서버에서 D.3 csattribute 유틸리티를 사용하여 새 백엔드 서버를 가리키도록 달력 소유자의 icsDWPHost LDAP 속성을 업데이트합니다. 속성을 업데이트하려면 먼저 해당 속성을 삭제한 다음 새 값으로 그 속성을 추가해야 합니다. 예를 들어, 새 서버 이름을 sesta.com으로 설정하려면 다음 명령을 사용합니다.
csattribute -a icsDWPHost delete bkamdar csattribute -a icsDWPHost=sesta.com add bkamdar |
새 서버에서 사용자 달력에 대해 D.19 csuser 유틸리티를 사용하여 달력 사용자를 활성화합니다. 예를 들면 다음과 같습니다.
csuser enable bkamdar
새 서버에서는 다음 명령을 사용하여 속성이 올바른지 그리고 각 달력이 올바르게 이동되었는지 확인합니다. 예를 들면 다음과 같습니다.
cscal -v -o bkamdar list bkamdar ... csattribute -v list bkamdar |
원본 서버에서 방금 이동한 각 달력을 삭제합니다. 예를 들면 다음과 같습니다.
cscal -o bkamdar delete bkamdar
-o 옵션은 주 소유자가 bkamdar인 모든 달력을 삭제합니다.
CLD 캐시 옵션을 사용하고 있는 경우에는, 달력을 다른 백엔드 서버로 이동한 다음 반드시 CLD 캐시를 제거하여 서버 이름을 제거해야 합니다. CLD 캐시의 오래된 항목 때문에 프런트엔드 서버가 이동된 달력을 찾지 못할 수 있습니다.
CLD 캐시를 지우려면 다음 단계를 수행합니다.
Calendar Server를 중지합니다.
/var/opt/SUNWics5/csdb/cld_cache 디렉토리의 모든 파일을 제거하지만 cld_cache 디렉토리 자체는 제거하지 않습니다.
Calendar Server를 다시 시작합니다.