пример файлов с правами доступа
-rwxr-xr-x. 1 root root 659 Jan 4 2018 zookeeper-server-initialize
-rwxr-xr-x. 1 root root 649 Jan 4 2018 zookeeper-server-cleanup
-rwxr-xr-x. 1 root root 648 Jan 4 2018 zookeeper-server
-rwxr-xr-x. 1 root root 303 Jan 4 2018 zookeeper-client
-rwxr-xr-x. 1 root root 6822 Jan 4 2018 zkServer.sh
-rwxr-xr-x. 1 root root 12 Jan 4 2018 zkServer-initialize.sh
-rwxr-xr-x. 1 root root 2840 Jan 4 2018 zkEnv.sh
-rwxr-xr-x. 1 root root 1709 Jan 4 2018 zkCli.sh
-rwxr-xr-x. 1 root root 2155 Jan 4 2018 zkCleanup.sh
если у нас есть только этот файл, например: (без точки)
-rwxr-xr-x 1 root root 2155 Jan 4 2018 zkCleanup.sh
Тогда какой командой нужно добавить эту точку к разрешениям файла?
во-вторых, как добавить рекурсивную точку
например, во всех подпапках в
/usr/hdp/current/zookeeper-server
пример перед
pwd
/usr/hdp/current/zookeeper-server
ls -Z
drwxr-xr-x root root ? bin
lrwxrwxrwx root root ? conf -> /etc/zookeeper/2.6.4.0-91/0
drwxr-xr-x root root ? doc
drwxr-xr-x root root ? etc
drwxr-xr-x root root ? lib
drwxr-xr-x root root ? man
drwxr-xr-x root root ? usr
-rw-r--r-- root root ? zookeeper-3.4.6.2.6.4.0-91.jar
lrwxrwxrwx root root ? zookeeper.jar -> zookeeper-3.4.6.2.6.4.0-91.jar
ожидаемый результат:
pwd
/usr/hdp/current/zookeeper-server
ls -Z
drwxr-xr-x. root root system_u:object_r:bin_t:s0 bin
lrwxrwxrwx. root root unconfined_u:object_r:usr_t:s0 conf -> /etc/zookeeper/2.6.4.0-91/0
drwxr-xr-x. root root system_u:object_r:usr_t:s0 doc
drwxr-xr-x. root root system_u:object_r:usr_t:s0 etc
drwxr-xr-x. root root system_u:object_r:lib_t:s0 lib
drwxr-xr-x. root root system_u:object_r:usr_t:s0 man
drwxr-xr-x. root root system_u:object_r:usr_t:s0 usr
-rw-r--r--. root root system_u:object_r:usr_t:s0 zookeeper-3.4.6.2.6.4.0-91.jar
lrwxrwxrwx. root root system_u:object_r:usr_t:s0 zookeeper.jar -> zookeeper-3.4.6.2.6.4.0-91.jar
мы пытаемся
restorecon -r /usr/hdp
ls -ltr
total 12
drwxr-xr-x. 27 root root 4096 Oct 29 10:05 2.6.0.3-8
drwxr-xr-x 29 root root 4096 Nov 6 11:29 2.6.4.0-91
drwxr-xr-x. 2 root root 4096 Dec 31 13:01 current
но папка 2.6.4.0-91 с такими же разрешениями (включая подпапки в 2.6.4.0-91)
ls -Z
drwxr-xr-x. root root system_u:object_r:usr_t:s0 2.6.0.3-8
drwxr-xr-x root root ? 2.6.4.0-91
drwxr-xr-x. root root unconfined_u:object_r:usr_t:s0 current
В конце .
указывает, что файл имеет контекст безопасности SElinux. Чтобы установить контексты безопасности по умолчанию, вы должны иметь возможность запустить
restorecon -r /usr/hdp
Вышесказанное требует, чтобы в вашей системе был включен SELinux. Если вы этого не сделаете, вам нужно будет включить его и пометить файловую систему
Отредактируйте / etc / selinux / config и убедитесь, что
SELINUX=enforcing # or permissive
SELINUXTYPW=targeted
Затем запустите команды
touch /.autorelabel
reboot