Я пытаюсь дать пользователю tomcat8 доступ для записи и доступ для чтения к определенной папке на моем сервере. Я попробовал эту команду:
sudo chmod -R tomcat8 /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Однако это дает мне
chmod: invalid mode: `tomcat8'
Почему это не работает? Не это стандарт chmod
?
Вы не можете сделать этого только с 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