Chmod недопустимая команда, сервер Ubuntu

Я пытаюсь дать пользователю tomcat8 доступ для записи и доступ для чтения к определенной папке на моем сервере. Я попробовал эту команду:

sudo chmod -R tomcat8 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

Однако это дает мне

chmod: invalid mode: `tomcat8'

Почему это не работает? Не это стандарт chmod?

1
задан 31 July 2016 в 17:51

1 ответ

Вы не можете сделать этого только с chmod. Можно, однако, сделать новую группу и изменить владение группы каталога, добавьте пользователя к той группе и затем дайте группе полномочия, которые Вы хотите на каталоге, таким образом, можно дать полномочие только той группе.

Создать группу tomcat и добавьте пользователя tomcat8 к нему:

sudo groupadd tomcat && sudo adduser tomcat8 tomcat

Можно также хотеть добавить себя (и любые другие пользователи, которые должны считать доступ для записи здесь) группе с sudo adduser [username] tomcat

Теперь измените владение группы каталога:

sudo chown :tomcat /usr/local/javaagent/appagent/ver2/logs/Tomcat1

Не забывайте двоеточие - это должно изменить только владение группы.

Теперь измените полномочия, например, Вы добавляете чтение и полномочия записи группе как это:

sudo chmod g+rw /usr/local/javaagent/appagent/ver2/logs/Tomcat1

От Вашего вопроса я не уверен, чем Вы хотите, чтобы другие настройки были. Я рекомендую читать man chmod и это руководство по полномочиям понять лучше, что Вы делаете.

Каталоги должны выполнить полномочия, которые будут вводиться, и доступные для поиска, таким образом, Вы, скорее всего, хотите восьмеричный 775 (таким образом, все пользователи могут читать и искать, но только группа может записать), или 770 (таким образом, только у владельца и группы есть любые полномочия - хранение частного каталога),

Не использовать -R поскольку маловероятно, что Вы хотите, чтобы все файлы имели, выполняют разрешение.

Вы, вероятно, хотите добавить, что setgid укусил, хотя, так, чтобы файлы, созданные здесь всеми пользователями, наследовали то же владение группы как каталог:

chmod g+s /usr/local/javaagent/appagent/ver2/logs/Tomcat1

Или использование восьмеричного, за один шаг:

chmod 2775 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

который дает эти полномочия:

drwxrwsr-x

( s в том положении бит setgid), или

chmod 2770 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

который дает

drwxrws---

Для проверки полномочий и владельцев на каталоге использовать ls -ld:

ls -ld /usr/local/javaagent/appagent/ver2/logs/Tomcat1
5
ответ дан 3 December 2019 в 06:39

Другие вопросы по тегам:

Похожие вопросы: