Blame SOURCES/scap-security-guide-0.1.48-fix_ansible_tasks_in_check_mode.patch

44eea6
From f891d5d4245963ca1bb1a2c785656077ae9fcced Mon Sep 17 00:00:00 2001
44eea6
From: =?UTF-8?q?Jan=20=C4=8Cern=C3=BD?= <jcerny@redhat.com>
44eea6
Date: Wed, 13 Nov 2019 15:36:12 +0100
44eea6
Subject: [PATCH 1/6] Run the command also in check mode
44eea6
44eea6
Setting check_mode to False will force to run the command in
44eea6
this task even if the playbook is run in check_mode. This task
44eea6
produces variable `socket_file_exists` which is then used
44eea6
in task "Disable socket ...". In check mode, the command wasn't
44eea6
executed, which caused this error:
44eea6
44eea6
fatal: [localhost]: FAILED! => {"msg": "The conditional check
44eea6
'\"sshd.socket\" in socket_file_exists.stdout_lines[1]' failed. The
44eea6
error was: error while evaluating conditional (\"sshd.socket\" in
44eea6
socket_file_exi
44eea6
sts.stdout_lines[1]): Unable to look up a name or access an attribute in
44eea6
template string ({% if \"sshd.socket\" in
44eea6
socket_file_exists.stdout_lines[1] %} True {% else %} False {% endif
44eea6
%}).\nMake sure your variab
44eea6
le name does not contain invalid characters like '-': argument of type
44eea6
'AnsibleUndefined' is not iterable\n\nThe error appears to be in
44eea6
'/home/jcerny/scap-security-guide/build/fedora/playbooks/all/service_sshd_d
44eea6
isabled.yml': line 44, column 7, but may\nbe elsewhere in the file
44eea6
depending on the exact syntax problem.\n\nThe offending line appears to
44eea6
be:\n\n\n    - name: Disable socket sshd\n      ^ here\n"}
44eea6
---
44eea6
 shared/templates/template_ANSIBLE_service_disabled | 1 +
44eea6
 1 file changed, 1 insertion(+)
44eea6
44eea6
diff --git a/shared/templates/template_ANSIBLE_service_disabled b/shared/templates/template_ANSIBLE_service_disabled
44eea6
index 1faeeeb9b8..cb3d0634af 100644
44eea6
--- a/shared/templates/template_ANSIBLE_service_disabled
44eea6
+++ b/shared/templates/template_ANSIBLE_service_disabled
44eea6
@@ -26,6 +26,7 @@
44eea6
   register: socket_file_exists
44eea6
   changed_when: False
44eea6
   ignore_errors: True
44eea6
+  check_mode: False
44eea6
 
44eea6
 - name: Disable socket {{{ SERVICENAME }}}
44eea6
   systemd:
44eea6
44eea6
From 0a5f4fdac9a409e543ff05f2dbb46c78a7fc76b3 Mon Sep 17 00:00:00 2001
44eea6
From: =?UTF-8?q?Jan=20=C4=8Cern=C3=BD?= <jcerny@redhat.com>
44eea6
Date: Wed, 13 Nov 2019 15:58:42 +0100
44eea6
Subject: [PATCH 2/6] Add "check_mode: no" everywhere possible
44eea6
44eea6
This option forces to run the command also in the check mode.
44eea6
If the command only reads, eg. grep, it should be harmless.
44eea6
It prevents issues that in "check" mode the playbook will terminate
44eea6
because the variable that was expected to be populated by this
44eea6
command is empty.
44eea6
---
44eea6
 .../sssd_ldap_configure_tls_ca_dir/ansible/shared.yml          | 1 +
44eea6
 .../sssd/sssd-ldap/sssd_ldap_start_tls/ansible/shared.yml      | 1 +
44eea6
 .../services/sssd/sssd_enable_smartcards/ansible/shared.yml    | 1 +
44eea6
 .../services/sssd/sssd_memcache_timeout/ansible/shared.yml     | 1 +
44eea6
 .../sssd/sssd_offline_cred_expiration/ansible/shared.yml       | 1 +
44eea6
 .../sssd/sssd_ssh_known_hosts_timeout/ansible/shared.yml       | 1 +
44eea6
 .../integrity/fips/grub2_enable_fips_mode/ansible/shared.yml   | 3 +++
44eea6
 .../package_dracut-fips-aesni_installed/ansible/shared.yml     | 1 +
44eea6
 8 files changed, 10 insertions(+)
44eea6
44eea6
diff --git a/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_configure_tls_ca_dir/ansible/shared.yml b/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_configure_tls_ca_dir/ansible/shared.yml
44eea6
index 7ab0904da0..ca7bbf9f4f 100644
44eea6
--- a/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_configure_tls_ca_dir/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_configure_tls_ca_dir/ansible/shared.yml
44eea6
@@ -10,6 +10,7 @@
44eea6
   register: test_grep_domain
44eea6
   ignore_errors: yes
44eea6
   changed_when: False
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: "Add default domain group and set CA directory (if no domain there)"
44eea6
   ini_file:
44eea6
diff --git a/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_start_tls/ansible/shared.yml b/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_start_tls/ansible/shared.yml
44eea6
index 1aeb2728db..1fd1e7d2c5 100644
44eea6
--- a/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_start_tls/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/sssd/sssd-ldap/sssd_ldap_start_tls/ansible/shared.yml
44eea6
@@ -16,6 +16,7 @@
44eea6
   register: test_grep_domain
44eea6
   ignore_errors: yes
44eea6
   changed_when: False
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: "Add default domain group and use STARTTLS (if no domain there)"
44eea6
   ini_file:
44eea6
diff --git a/linux_os/guide/services/sssd/sssd_enable_smartcards/ansible/shared.yml b/linux_os/guide/services/sssd/sssd_enable_smartcards/ansible/shared.yml
44eea6
index 636bc3f65f..1087367dde 100644
44eea6
--- a/linux_os/guide/services/sssd/sssd_enable_smartcards/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/sssd/sssd_enable_smartcards/ansible/shared.yml
44eea6
@@ -8,6 +8,7 @@
44eea6
   register: test_grep_domain
44eea6
   ignore_errors: yes
44eea6
   changed_when: False
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: "Add default domain group (if no domain there)"
44eea6
   ini_file:
44eea6
diff --git a/linux_os/guide/services/sssd/sssd_memcache_timeout/ansible/shared.yml b/linux_os/guide/services/sssd/sssd_memcache_timeout/ansible/shared.yml
44eea6
index 79dbd9140a..4a146b1008 100644
44eea6
--- a/linux_os/guide/services/sssd/sssd_memcache_timeout/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/sssd/sssd_memcache_timeout/ansible/shared.yml
44eea6
@@ -10,6 +10,7 @@
44eea6
   register: test_grep_domain
44eea6
   ignore_errors: yes
44eea6
   changed_when: False
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: "Add default domain group (if no domain there)"
44eea6
   ini_file:
44eea6
diff --git a/linux_os/guide/services/sssd/sssd_offline_cred_expiration/ansible/shared.yml b/linux_os/guide/services/sssd/sssd_offline_cred_expiration/ansible/shared.yml
44eea6
index 614cf5c05e..d79b0e6ca6 100644
44eea6
--- a/linux_os/guide/services/sssd/sssd_offline_cred_expiration/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/sssd/sssd_offline_cred_expiration/ansible/shared.yml
44eea6
@@ -8,6 +8,7 @@
44eea6
   register: test_grep_domain
44eea6
   ignore_errors: yes
44eea6
   changed_when: False
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: "Add default domain group (if no domain there)"
44eea6
   ini_file:
44eea6
diff --git a/linux_os/guide/services/sssd/sssd_ssh_known_hosts_timeout/ansible/shared.yml b/linux_os/guide/services/sssd/sssd_ssh_known_hosts_timeout/ansible/shared.yml
44eea6
index 6284435ec4..6763e27c7e 100644
44eea6
--- a/linux_os/guide/services/sssd/sssd_ssh_known_hosts_timeout/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/sssd/sssd_ssh_known_hosts_timeout/ansible/shared.yml
44eea6
@@ -10,6 +10,7 @@
44eea6
   register: test_grep_domain
44eea6
   ignore_errors: yes
44eea6
   changed_when: False
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: "Add default domain group (if no domain there)"
44eea6
   ini_file:
44eea6
diff --git a/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml b/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml
44eea6
index 5cc5fe0e96..b642b6c3c3 100644
44eea6
--- a/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml
44eea6
+++ b/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml
44eea6
@@ -24,6 +24,7 @@
44eea6
   command: grep -q -m1 -o aes /proc/cpuinfo
44eea6
   failed_when: aesni_supported.rc > 1
44eea6
   register: aesni_supported
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: Ensure dracut-fips-aesni is installed
44eea6
   package:
44eea6
@@ -45,6 +46,7 @@
44eea6
   command: grep 'GRUB_CMDLINE_LINUX.*fips=' /etc/default/grub
44eea6
   failed_when: False
44eea6
   register: fipsargcheck
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: replace existing fips argument
44eea6
   replace:
44eea6
@@ -68,6 +70,7 @@
44eea6
   command: grep 'GRUB_CMDLINE_LINUX.*boot=' /etc/default/grub
44eea6
   failed_when: False
44eea6
   register: bootargcheck
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: replace existing boot argument
44eea6
   replace:
44eea6
diff --git a/linux_os/guide/system/software/integrity/fips/package_dracut-fips-aesni_installed/ansible/shared.yml b/linux_os/guide/system/software/integrity/fips/package_dracut-fips-aesni_installed/ansible/shared.yml
44eea6
index 28a9dd71c4..8ed524fc75 100644
44eea6
--- a/linux_os/guide/system/software/integrity/fips/package_dracut-fips-aesni_installed/ansible/shared.yml
44eea6
+++ b/linux_os/guide/system/software/integrity/fips/package_dracut-fips-aesni_installed/ansible/shared.yml
44eea6
@@ -7,6 +7,7 @@
44eea6
   command: grep -q -m1 -o aes /proc/cpuinfo
44eea6
   failed_when: aesni_supported.rc > 1
44eea6
   register: aesni_supported
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: Ensure dracut-fips-aesni is installed
44eea6
   package:
44eea6
44eea6
From 7b669bf3d9e30e842095693456109c38d82f94a6 Mon Sep 17 00:00:00 2001
44eea6
From: =?UTF-8?q?Jan=20=C4=8Cern=C3=BD?= <jcerny@redhat.com>
44eea6
Date: Wed, 13 Nov 2019 16:51:04 +0100
44eea6
Subject: [PATCH 3/6] Prevent fails in check mode
44eea6
44eea6
Addressing:
44eea6
44eea6
fatal: [localhost]: FAILED! => {"msg": "The task includes an option with
44eea6
an undefined variable. The error was: 'dict object' has no attribute
44eea6
'stdout'\n\nThe error appears to be in '/home/jcerny/scap-security-gu
44eea6
ide/build/rhel7/playbooks/all/grub2_enable_fips_mode.yml': line 134,
44eea6
column 7, but may\nbe elsewhere in the file depending on the exact
44eea6
syntax problem.\n\nThe offending line appears to be:\n\n\n    - name:
44eea6
add b
44eea6
oot argument\n      ^ here\n"}
44eea6
---
44eea6
 .../integrity/fips/grub2_enable_fips_mode/ansible/shared.yml     | 1 +
44eea6
 1 file changed, 1 insertion(+)
44eea6
44eea6
diff --git a/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml b/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml
44eea6
index b642b6c3c3..0dd7dea18d 100644
44eea6
--- a/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml
44eea6
+++ b/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/ansible/shared.yml
44eea6
@@ -65,6 +65,7 @@
44eea6
 - name: get boot device uuid
44eea6
   command: findmnt --noheadings --output uuid --target /boot
44eea6
   register: bootuuid
44eea6
+  check_mode: no
44eea6
 
44eea6
 - name: check boot argument exists
44eea6
   command: grep 'GRUB_CMDLINE_LINUX.*boot=' /etc/default/grub
44eea6
44eea6
From 309946d9ae49847bdb922ac5e0ba3657afa787a3 Mon Sep 17 00:00:00 2001
44eea6
From: =?UTF-8?q?Jan=20=C4=8Cern=C3=BD?= <jcerny@redhat.com>
44eea6
Date: Wed, 13 Nov 2019 17:14:06 +0100
44eea6
Subject: [PATCH 4/6] Prevent fails in check mode
44eea6
44eea6
---
44eea6
 .../rpm_verification/rpm_verify_hashes/ansible/shared.yml       | 2 ++
44eea6
 .../rpm_verification/rpm_verify_ownership/ansible/shared.yml    | 2 ++
44eea6
 .../rpm_verification/rpm_verify_permissions/ansible/shared.yml  | 2 ++
44eea6
 3 files changed, 6 insertions(+)
44eea6
44eea6
diff --git a/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_hashes/ansible/shared.yml b/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_hashes/ansible/shared.yml
44eea6
index 0dc09339f4..991d637853 100644
44eea6
--- a/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_hashes/ansible/shared.yml
44eea6
+++ b/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_hashes/ansible/shared.yml
44eea6
@@ -20,6 +20,7 @@
44eea6
   register: files_with_incorrect_hash
44eea6
   changed_when: False
44eea6
   failed_when: files_with_incorrect_hash.rc > 1
44eea6
+  check_mode: False
44eea6
   when: (package_manager_reinstall_cmd is defined)
44eea6
 
44eea6
 - name: Create list of packages
44eea6
@@ -29,6 +30,7 @@
44eea6
   with_items: "{{ files_with_incorrect_hash.stdout_lines | map('regex_findall', '^[.]+[5]+.* (\\/.*)', '\\1') | map('join') | select('match', '(\\/.*)') | list | unique }}"
44eea6
   register: list_of_packages
44eea6
   changed_when: False
44eea6
+  check_mode: False
44eea6
   when:
44eea6
     - files_with_incorrect_hash.stdout_lines is defined
44eea6
     - (files_with_incorrect_hash.stdout_lines | length > 0)
44eea6
diff --git a/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_ownership/ansible/shared.yml b/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_ownership/ansible/shared.yml
44eea6
index d02508808c..d0d52e7c76 100644
44eea6
--- a/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_ownership/ansible/shared.yml
44eea6
+++ b/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_ownership/ansible/shared.yml
44eea6
@@ -10,6 +10,7 @@
44eea6
   register: files_with_incorrect_ownership
44eea6
   failed_when: files_with_incorrect_ownership.rc > 1
44eea6
   changed_when: False
44eea6
+  check_mode: False
44eea6
 
44eea6
 - name: Create list of packages
44eea6
   command: rpm -qf "{{ item }}"
44eea6
@@ -18,6 +19,7 @@
44eea6
   with_items: "{{ files_with_incorrect_ownership.stdout_lines | map('regex_findall', '^[.]+[U|G]+.* (\\/.*)', '\\1') | map('join') | select('match', '(\\/.*)') | list | unique }}"
44eea6
   register: list_of_packages
44eea6
   changed_when: False
44eea6
+  check_mode: False
44eea6
   when: (files_with_incorrect_ownership.stdout_lines | length > 0)
44eea6
 
44eea6
 - name: "Correct file ownership with RPM"
44eea6
diff --git a/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_permissions/ansible/shared.yml b/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_permissions/ansible/shared.yml
44eea6
index 55a37a4235..517cc38af2 100644
44eea6
--- a/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_permissions/ansible/shared.yml
44eea6
+++ b/linux_os/guide/system/software/integrity/software-integrity/rpm_verification/rpm_verify_permissions/ansible/shared.yml
44eea6
@@ -10,6 +10,7 @@
44eea6
   register: files_with_incorrect_permissions
44eea6
   failed_when: files_with_incorrect_permissions.rc > 1
44eea6
   changed_when: False
44eea6
+  check_mode: False
44eea6
 
44eea6
 - name: Create list of packages
44eea6
   command: rpm -qf "{{ item }}"
44eea6
@@ -18,6 +19,7 @@
44eea6
   with_items: "{{ files_with_incorrect_permissions.stdout_lines | map('regex_findall', '^[.]+[M]+.* (\\/.*)', '\\1') | map('join') | select('match', '(\\/.*)') | list | unique }}"
44eea6
   register: list_of_packages
44eea6
   changed_when: False
44eea6
+  check_mode: False
44eea6
   when: (files_with_incorrect_permissions.stdout_lines | length > 0)
44eea6
 
44eea6
 - name: "Correct file permissions with RPM"
44eea6
44eea6
From d410766260716cf974fba04dfd3710b9bfd72323 Mon Sep 17 00:00:00 2001
44eea6
From: =?UTF-8?q?Jan=20=C4=8Cern=C3=BD?= <jcerny@redhat.com>
44eea6
Date: Wed, 13 Nov 2019 17:26:42 +0100
44eea6
Subject: [PATCH 5/6] Fix template_ANSIBLE_mount_option_remote_filesystems
44eea6
44eea6
"item" was not defined.  Also, `findmnt` command can return 1 if there
44eea6
is no nfs entry in /etc/fstab.  The MOUNTOPTION variable is a complete
44eea6
mount option, eg. `nosuid`.
44eea6
---
44eea6
 .../ansible/shared.yml                                        | 1 +
44eea6
 .../template_ANSIBLE_mount_option_remote_filesystems          | 4 ++++
44eea6
 2 files changed, 5 insertions(+)
44eea6
44eea6
diff --git a/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml b/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml
44eea6
index 6982ce293e..1c318715cf 100644
44eea6
--- a/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml
44eea6
@@ -18,3 +18,4 @@
44eea6
     state: mounted
44eea6
     opts: "{{ item.split()[3] }},sec=krb5:krb5i:krb5p"
44eea6
   when: (points_register.stdout | length > 0)
44eea6
+  with_items: "{{ points_register.stdout_lines }}"
44eea6
diff --git a/shared/templates/template_ANSIBLE_mount_option_remote_filesystems b/shared/templates/template_ANSIBLE_mount_option_remote_filesystems
44eea6
index a58d7729ec..c82201d507 100644
44eea6
--- a/shared/templates/template_ANSIBLE_mount_option_remote_filesystems
44eea6
+++ b/shared/templates/template_ANSIBLE_mount_option_remote_filesystems
44eea6
@@ -5,10 +5,13 @@
44eea6
 # disruption = medium
44eea6
 
44eea6
 - name: "Get nfs and nfs4 mount points, that don't have {{{ MOUNTOPTION }}}"
44eea6
+  # 'no' before MOUNTOPTION isn't omission, it means a negation
44eea6
   command: findmnt --fstab --types nfs,nfs4 -O no{{{ MOUNTOPTION }}} -n
44eea6
   register: points_register
44eea6
   check_mode: no
44eea6
   changed_when: False
44eea6
+  # if no nfs/nfs4 entries are in /etc/fstab, findmnt command returns 1
44eea6
+  failed_when: False
44eea6
 
44eea6
 - name: "Add {{{ MOUNTOPTION }}} to nfs and nfs4 mount points"
44eea6
   mount:
44eea6
@@ -18,3 +21,4 @@
44eea6
     state: mounted
44eea6
     opts: "{{ item.split()[3] }},{{{ MOUNTOPTION }}}"
44eea6
   when: (points_register.stdout | length > 0)
44eea6
+  with_items: "{{ points_register.stdout_lines }}"
44eea6
44eea6
commit 924ac061a1e044213f838ac5a15f26b451f35352
44eea6
Author: Gabriel Becker <ggasparb@redhat.com>
44eea6
Date:   Fri Nov 15 17:27:15 2019 +0100
44eea6
44eea6
    Fix mount_option_krb_sec_remote_filesystems ansible content.
44eea6
44eea6
diff --git a/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml b/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml
44eea6
index 1c31871..befa06e 100644
44eea6
--- a/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml
44eea6
+++ b/linux_os/guide/services/nfs_and_rpc/nfs_configuring_clients/mounting_remote_filesystems/mount_option_krb_sec_remote_filesystems/ansible/shared.yml
44eea6
@@ -5,10 +5,11 @@
44eea6
 # disruption = medium
44eea6
 
44eea6
 - name: "Get nfs and nfs4 mount points, that don't have Kerberos security option"
44eea6
-  command: findmnt --fstab --types nfs,nfs4 -O nosec=krb5:krb5i:krb5p -n -o TARGET
44eea6
+  command: findmnt --fstab --types nfs,nfs4 -O nosec=krb5:krb5i:krb5p -n
44eea6
   register: points_register
44eea6
   check_mode: no
44eea6
   changed_when: False
44eea6
+  failed_when: False
44eea6
 
44eea6
 - name: "Add Kerberos security to nfs and nfs4 mount points"
44eea6
   mount: