Introduction to Polkit
        
        
          Polkit is a toolkit for defining
          and handling authorizations. It is used for allowing unprivileged
          processes to communicate with privileged processes.
        
        
          This package is known to build and work properly using an LFS 12.4
          platform.
        
        
          Package Information
        
        
        
          Polkit Dependencies
        
        
          Required
        
        
          duktape-2.7.0 and GLib-2.84.4
          (GObject Introspection recommended)
        
        
          Recommended
        
        
          libxslt-1.1.43, and Linux-PAM-1.7.1
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Since systemd-logind uses PAM
            to register user sessions, it is a good idea to build
            Polkit with PAM support so
            systemd-logind can track
            Polkit sessions.
          
         
        
          Optional
        
        
          GTK-Doc-1.34.0 and dbusmock-0.36.0 (required for tests)
        
        
          Required Runtime Dependencies
        
        
          Systemd-257.8
        
        
           Optional Runtime
          Dependencies
        
        
          One polkit authentication agent for using polkit in the graphical
          environment: polkit-kde-agent in
          Plasma-6.4.4 for KDE, the agent built in
          gnome-shell-48.4 for GNOME3, polkit-gnome-0.105 for XFCE, and lxqt-policykit-2.2.0 for LXQt
        
        
       
      
        
          Kernel
          Configuration
        
        
          Some tests need user namespace support. If you are going to run the
          test suite, enable the support and recompile the kernel if
          necessary:
        
        General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]
       
      
        
          Installation of Polkit
        
        
          There should be a dedicated user and group to take control of the
          polkitd daemon after
          it is started. Issue the following commands as the root user:
        
        groupadd -fg 27 polkitd &&
useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
        -g polkitd -s /bin/false polkitd
        
          Install Polkit by running the
          following commands:
        
        mkdir build &&
cd    build &&
meson setup ..                   \
      --prefix=/usr              \
      --buildtype=release        \
      -D man=true                \
      -D session_tracking=logind \
      -D tests=true
        
          Build the package:
        
        ninja
        
          To test the results, first ensure that the system D-Bus daemon is running, and both D-Bus Python-1.4.0 and dbusmock-0.36.0 are installed. Then run
          ninja test.
        
        
          Now, as the root user:
        
        ninja install
       
      
        
          Command Explanations
        
        
          --buildtype=release:
          Specify a buildtype suitable for stable releases of the package, as
          the default may produce unoptimized binaries.
        
        
          -D tests=true: This switch
          allows to run the test suite of this package. As Polkit is used for authorizations, its
          integrity can affect system security. So it's recommended to run
          the test suite building this package.
        
        
          -D os_type=lfs: Use this switch if you
          did not create the /etc/lfs-release
          file or distribution auto detection will fail and you will be
          unable to use Polkit.
        
        
          -D authfw=shadow: This switch enables
          the package to use the Shadow
          rather than the Linux PAM
          Authentication framework. Use it if you have not installed
          Linux PAM.
        
        
          -D introspection=false: Use this option
          if you are certain that you do not need gobject-introspection files
          for polkit, or do not have installed GLib-2.84.4 with
          GObject Introspection.
        
        
          -D man=false: Use this option to
          disable generating and installing manual pages. This is useful if
          libxslt is not installed.
        
        
          -D examples=true: Use this option to
          build the example programs.
        
        
          -D gtk_doc=true: Use this option to
          enable building and installing the API documentation.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              pkaction, pkcheck, pkexec, pkttyagent,
              and polkitd
            
            
              Installed Libraries:
              libpolkit-agent-1.so and
              libpolkit-gobject-1.so
            
            
              Installed Directories:
              /etc/polkit-1, /usr/include/polkit-1,
              /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1, and
              /usr/share/polkit-1
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    pkaction
                   | 
                    is used to obtain information about registered PolicyKit
                    actions
                   | 
              
                | 
                    pkcheck
                   | 
                    is used to check whether a process is authorized for
                    action
                   | 
              
                | 
                    pkexec
                   | 
                    allows an authorized user to execute a command as another
                    user
                   | 
              
                | 
                    pkttyagent
                   | 
                    is used to start a textual authentication agent for the
                    subject
                   | 
              
                | 
                    polkitd
                   | 
                    provides the org.freedesktop.PolicyKit1 D-Bus service on the system message
                    bus
                   | 
              
                | 
                    libpolkit-agent-1.so | 
                    contains the Polkit
                    authentication agent API functions
                   | 
              
                | 
                    libpolkit-gobject-1.so | 
                    contains the Polkit
                    authorization API functions
                   |