NAME
kcaldav.passwd —
    change kcaldav principal
    information
SYNOPSIS
kcaldav.passwd | 
    [-Cnv] [-d
      collection] [-e
      email] [-f
      caldir] [-u
      principal] [resource...] | 
  
DESCRIPTION
Updates database entries for kcaldav(8) principals. Its arguments are as follows:
-C- Create a new principal with an initial collection "calendar". The e-mail address is the principal's name at the current host (see hostname(1)) or "localhost" if there's no system-wide hostname set.
 -n- Do not change the principal's password: only change attributes (such as
      with 
-e). Ignored if used with-C. -dcollection- Add a collection for the principal, doing nothing if the collection
      already exists. If used with 
-C, sets the initial collection. -eemail- Set the principal's e-mail address.
 -fcaldir- The database directory.
 -uprincipal- The principal to look up in the database.
 -v- Verbose. Shows underlying database operations.
 - resource...
 - A list of resources to add to the collection of 
-dor "calendar" by default. The name of each resource is set from its filename component. 
By default, the password is changed for the principal matching the logged-in user (see logname(1)). The database kcaldav.db is looked for in /var/www/caldav.
If the database is created with -C, its
    owner is set to the current real user. If the database exists and
    -C or -u is used, the
    current real user (via getuid(2)) must match the database owner or be root.
The database must be read-writable by the web server.
EXIT STATUS
The kcaldav.passwd utility exits 0
    on success, and >0 if an error occurs.
EXAMPLES
In the simplest case, root creates and maintains the database. Assuming the database is in /var/www/caldav:
# kcaldav.passwd -Cu kristaps New password: ********* Repeat new password: *********
After this time, the user "kristaps" can access their default calendar "calendar".
To have the database modifiable by local users, use a dummy "kcaldav" user owning the file and creating new users. Thi assumes that the database doesn't already exist.
# chown _kcaldav /usr/local/bin/kcaldav.passwd # chmod u+s /usr/local/bin/kcaldav.passwd # doas -u _kcaldav kcaldav.passwd -Cu kristaps New password: ********* Repeat new password: *********
The user may then set their password:
% kcaldav.passwd -ne
  kristaps@bsd.lvOr add calendars:
% kcaldav.passwd -nd newcalendar % kcaldav.passwd -nd secondcalendar
To add resources to a new or existing calendar:
% kcaldav.passwd -nd newcalendar
  file1.ics file2.ics