Changes between 5.4.0 and 5.5.0
Fixed:appjail-jail(1)'srenamein ZFS-based systems.Fixed: typoocurred->occurred.Added:load-kldhook:- This hook has been implemented to facilitate the deployment of Sylve using the OCI image.
- Resolves location of
fs_specandfs_fileinappjail-fstab(1)whenfs_vfstypeis{nullfs,<pseudofs>,<volumefs>,<secretsfs>}:umount(8)may encounter issues when unmountingfs_fileif the user has specified its location with a leading slash, but we will resolve bothfs_specandfs_fileto avoid any side effects.
- Create a
unix(4)socket inappjail-fstab(1)-
mount_nullfs(8)/nullfs(4)[1] now includes the ability to mount aunix(4)socket on top of anotherunix(4)socket. Just asappjail-fstab(1)creates an empty file or directory, it now creates a dummyunix(4)socket. To do this, I needed to create a small utility calledmksock, since there is none in the base system designed for this purpose.
-
- Compare
APPJAIL_PREPEND_ENTRYPOINT_FORCEinstead of executingtrue/falseinappjail-oci(1). Implemented: AppJail Secrets- Add pseudo-filesystem
<secretsfs>toappjail-fstab(1). - Add
secretoption inappjail-quick(1). - Add
appjail-secrets(1). - Add missing
-qflag togrep(1)inshare/appjail/lib/check_func:lib_check_ispath(). - In
share/appjail/lib/check_func:Added:lib_check_secret().Added:lib_check_secretname().Added:lib_check_emptydir().
Added: a new dataset forsecretsinshare/appjail/lib/zfs.- In
appjail.conf(5):Added:SECRETSDIR.Added:SECRETS_BACKENDSDIR.Added:SECRETS_BACKEND.Added:SECRETS_MDMFS_SIZE.
Added: Secrets to "Features" inREADME.
- Add pseudo-filesystem
libexec/appjail-config/cmd_edit.c: Don'tfork(2), justexeclp(3).- Restrict the jail's root directory by default:
- As an additional security measure, AppJail now changes the file mode of the jail's root directory to
0700. Do not confuse the jail's root directory with the jail directory itself. The jail's root directory is where AppJail stores the data for each jail, including the jail directory itself. This is primarily because some OCI images may create a file or directory with an insecure file mode, since there is only one or a few processes in the jail. Therefore, restricting the jail's root directory protects the data created by those processes from malicious users on the host. DEPRECATED:appjail-config-user:-
Since the jail's root directory is restricted,
appjail-configneeds permissions to read the files in the jail, which requires the use ofappjail-config-user. The solution (which also improves the user experience) is to allowappjail-configto detect whether the user isrootor a non-root user. In the latter case, all we need to do is elevate privileges, just asappjailruns automatically when a non-root user attempts to run it.This makes
appjail-config-userunnecessary, so it is now deprecated and will be removed in future versions.
-
- As an additional security measure, AppJail now changes the file mode of the jail's root directory to
Full Changelog: v5.4.0...v5.5.0