change kcaldav principal
Updates database entries for kcaldav(8) principals. Its arguments are as follows:
- 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.
- Do not change the principal's password: only change attributes (such as
-e). Ignored if used with
- Add a collection for the principal, doing nothing if the collection
already exists. If used with
-C, sets the initial collection.
- Set the principal's e-mail address.
- The database directory.
- The principal to look up in the database.
- Verbose. Shows underlying database operations.
- 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
owner is set to the current real user. If the database exists and
-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.
kcaldav.passwd utility exits 0
on success, and >0 if an error occurs.
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 email@example.com
Or 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