Использование -Rd
действительно имеет смысл только при работе с каталогами. Чтобы изменить ACL для данного файла и добавить другого пользователя, вы просто делаете это:
$ sudo setfacl -m u:user1:rwx somefile
$ getfacl somefile
# file: somefile
# owner: root
# group: root
user::rw-
user:user1:rwx
group::r--
mask::rwx
other::r--
Согласно man setfacl
стр.:-R, --recursive
Apply operations to all files and directories recursively. This
option cannot be mixed with `--restore'.
-d, --default
All operations apply to the Default ACL. Regular ACL entries in the
input set are promoted to Default ACL entries. Default ACL entries in
the input set are discarded. (A warning is issued if that
happens).
Вам нужно -r
на внешнем read
, а не только на внутреннем read -a
. Вы также должны указать "${line}"
и (вероятно )хотите IFS=
, если вы явно не хотите удалить начальные пробелы:
while IFS= read -r line; do
IFS=: read -ra LINE <<< "${line}"; printf '%s\n' "${LINE[@]}"
done < ntlm-extract.ntds
somedomain.local\jcricket
5201
0020cfaecd41954fb9c9da8c61ccacd7
0020cfaecd41954fb9c9da8c61ccacd7
Я бы также предложил изменить имя переменной LINE
на что-то такое, что не всегда должно быть в верхнем регистре.