PTSERVER(8)

✨ PTSERVER β€” like, the Protection Server manual, but make it make sense ✨

okay bestie, so this is a page from the AFS Command Reference β€” it's ptserver(8), section 8, the big-girl system-administration section. Sit down, grab a strawberry πŸ“, and let's get into it.


πŸ’– NAME πŸ’–

ptserver β€” literally just initializes the Protection Server. That's the whole job. Slay.


πŸ¦‹ SYNOPSIS πŸ¦‹

ptserver [-database | -db <db path>]
    [-p <number of threads>]
    [-d <debug level>]
    [-groupdepth | -depth <# of nested groups>]
    [-default_access <user access mask> <group access mask>]
    [-restricted] [-restrict_anonymous] [-enable_peer_stats]
    [-enable_process_stats] [-allow-dotted-principals]
    [-rxbind] [-auditlog <file path>]
    [-audit-interface (file | sysvmq)]
    [-syslog[=<FACILITY>]]
    [-logfile <log file>]
    [-transarc-logs]
    [-config <configuration path>]
    [-rxmaxmtu <bytes>]
    [-help]

look at all those flags. she's got range πŸ’…


🌸 DESCRIPTION 🌸

The ptserver command initializes the Protection Server, and no cap: it must run on every single database server machine. In the conventional setup, her binary file lives in the /usr/lib/openafs directory on a file server machine.

okay so here's the vibe check β€” you do not normally just type ptserver at your shell like some kind of chaos gremlin. πŸ™ˆ Instead she goes into the database server machine's /etc/openafs/BosConfig file via the bos create command. And if you do ever issue her straight from the command shell prompt? You have to be logged onto a file server machine as the local superuser root. main character privilege only, fr fr πŸ‘‘

so what does the Protection Server actually do? bestie, she's booked and busy:

  • Maintains the Protection Database, which contains entries for every user and group in the cell. Use the pts commands to administer the database.
  • Allocates AFS IDs for new user, machine and group entries, and maps each ID to the corresponding name.
  • Generates a current protection subgroup (CPS) at the File Server's request. The CPS lists all groups to which a user or machine belongs.

and here's a little ✨kerberos 5✨ moment: when you're using Kerberos 5, cross-realm authentication is possible. If the special pts group system:authuser@FOREIGN.REALM exists and its group quota is greater than zero, aklog will automatically create an entry for the foreign user in the local PTS database and add the foreign user to the system:authuser@FOREIGN.REALM PTS group. And every single time a foreign user gets created in the local PTS database, the group quota for that system:authuser@FOREIGN.REALM PTS group gets decremented by one. the way that she just handles it 😭

⚠️ heads up girlypop: this command does not use the syntax conventions of the AFS command suites. Give the command name and all option names in full. no abbreviations, no shortcuts, no cutting corners. periodt.

πŸ‘‘ OPTIONS πŸ‘‘

  • -d <debug level> β€” Sets the detail level for the debugging trace written to the /var/log/openafs/PtLog file. Pick one of these values, each one giving you an increasingly juicy trace: 0, 1, 5, 25, and 125.
  • -database | -db <db path> β€” Specifies the pathname of an alternate directory where the Protection Database files live. Give the complete pathname, ending in the base filename to which the .DB0 and .DBSYS1 extensions get appended. Example: the appropriate value for the default database files is /var/lib/openafs/db/prdb.
  • -p <number of threads> β€” Sets the number of server lightweight processes (LWPs or pthreads) to run. Give a positive integer from the range 3 to 64. The default value is 3.
  • -groupdepth | -depth <# of nested groups> β€” Specifies the group depth for nested groups when ptserver is compiled with the SUPERGROUPS option enabled. The default depth for nested groups is 5.
  • -default_access <user access> <group access> β€” Specifies the default user and group privacy flags to apply to each entry. Give a string of five characters, one for each of the permissions. Peep pts_examine(1) or pts_setfields(1) for more info on the flags.
  • -restricted β€” Run the PT Server in restricted mode. While she's in restricted mode, only members of the system:administrators PTS group may make any PTS changes. exclusive πŸ’…
  • -restrict_anonymous β€” Run the PT Server in restricted anonymous access mode. While in this mode, only authenticated users will be able to access the PTS database.
  • -enable_peer_stats β€” Activates the collection of Rx statistics and allocates memory for their storage. For each connection with a specific UDP port on another machine, a separate record is kept for each type of RPC (FetchFile, GetStatus, and so on) sent or received. To display or otherwise access the records, use the Rx Monitoring API.
  • -enable_process_stats β€” Activates the collection of Rx statistics and allocates memory for their storage. A separate record is kept for each type of RPC (FetchFile, GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API.
  • -allow-dotted-principals β€” By default, the RXKAD security layer will disallow access by Kerberos principals with a dot in the first component of their name. Why? To avoid that whole confusing situation where principals user/admin and user.admin both get mapped to the user.admin PTS entry. Sites whose Kerberos realms don't have these collisions between principal names may disable this check by starting the server with this option.
  • -rxbind β€” Bind the Rx socket to the primary interface only. (If not specified, the Rx socket will listen on all interfaces.)
  • -syslog[=<syslog facility>] β€” Specifies that logging output should go to syslog instead of the normal log file. -syslog=FACILITY can be used to specify which facility the log message should be sent to. Logging messages sent to syslog are tagged with the string "ptserver".
  • -logfile <log file> β€” Sets the file to use for server logging. If logfile is not specified, and no other logging options are supplied, this will be /var/log/openafs/PtLog. Note that this option is intended for debugging and testing purposes. Changing the location of the log file from the command line may result in undesirable interactions with tools such as bos. 😬 careful with that one.
  • -transarc-logs β€” Use Transarc style logging features. Renames the log file /var/log/openafs/PtLog to /var/log/openafs/PtLog.old when the PT Server is restarted. This option is provided for compatibility with older versions.
  • -config <configuration directory> β€” Set the location of the configuration directory used to configure this service. In a typical configuration this will be /etc/openafs/server β€” this option allows the use of alternative configuration locations for testing purposes.
  • -auditlog <log path> β€” Turns on audit logging, and sets the path for the audit log. The audit log records information about RPC calls, including the name of the RPC call, the host that submitted the call, the authenticated entity (user) that issued the call, the parameters for the call, and if the call succeeded or failed. receipts, basically 🧾
  • -audit-interface (file | sysvmq) β€” Specifies what audit interface to use. Defaults to "file". See fileserver(8) for an explanation of each interface.
  • -rxmaxmtu <bytes> β€” Sets the maximum transmission unit for the RX protocol.
  • -help β€” Prints the online help for this command. All other valid options are ignored. the "I'm just gonna ask for help real quick" move, valid.

⭐ EXAMPLES ⭐

The following bos create command creates a "ptserver" process on the machine "fs3.example.com". The command appears here on multiple lines only for legibility β€” she's long, not complicated πŸ’…

% bos create -server fs3.example.com -instance ptserver \
             -type simple -cmd /usr/lib/openafs/ptserver

πŸ”₯ PRIVILEGE REQUIRED πŸ”₯

The issuer must be logged in as the superuser root on a file server machine to issue the command at a command shell prompt. It is conventional instead to create and start the process by issuing the bos create command. do it the polite way, bestie 🫢


🌈 SEE ALSO 🌈

BosConfig(5), PtLog(5), prdb.DB0(5), bos_create(8), bos_getlog(8), pts(1)

go read those next, iykyk πŸ“š


IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.


and that's the whole page, bestie! πŸ’– this manual page came from OpenAFS, dated 2026-07-27 β€” and honestly? she ate. now go forth and initialize that Protection Server like the icon you are πŸ‘‘βœ¨πŸŽ€

πŸ“¦ where this page comes from