Je suis un guide d'installation de tomcat sur Ubuntu et je suis bloqué sur une étape qui consiste à exécuter la commande suivante:
sudo chmod g+r conf/*
Qu'est-ce que cela /*
signifie? Est-ce que cela signifie faire la modification pour tous les fichiers du /conf
dossier? Lorsque j'exécute la commande, l'erreur suivante apparaît:
chmod: cannot access 'conf/*': No such file or directory
Voici à quoi ressemble le dossier:
bin conf lib LICENSE logs ...
Donc le /conf
dossier est dedans - les autres commandes que je lance sur le dossier fonctionnent bien:
sudo chgrp -R tomcat conf
sudo chmod g+rwx conf
Le guide est ici .
J'en suis à "Étape 4: Mettre à jour les autorisations".
Voici un ls -la
du /opt/tomcat
dossier:
drwxr-xr-x 9 root root 4096 Aug 15 03:15 .
drwxr-xr-x 3 root root 4096 Aug 15 03:14 ..
drwxr-x--- 2 root root 4096 Aug 15 03:15 bin
drwxrwx--- 2 root tomcat 4096 Jul 6 08:45 conf
drwxr-x--- 2 root root 4096 Aug 15 03:15 lib
-rw-r----- 1 root root 57092 Jul 6 08:45 LICENSE
drwxr-x--- 2 root root 4096 Jul 6 08:43 logs
-rw-r----- 1 root root 1723 Jul 6 08:45 NOTICE
-rw-r----- 1 root root 7063 Jul 6 08:45 RELEASE-NOTES
-rw-r----- 1 root root 15946 Jul 6 08:45 RUNNING.txt
drwxr-x--- 2 root root 4096 Aug 15 03:15 temp
drwxr-x--- 7 root root 4096 Jul 6 08:44 webapps
drwxr-x--- 2 root root 4096 Jul 6 08:43 work
et ce sont les fichiers qui se trouvent dans le dossier / conf:
sudo ls -al conf/
-rw------- 1 root tomcat 12502 Jul 6 08:45 catalina.policy
-rw------- 1 root tomcat 7203 Jul 6 08:45 catalina.properties
-rw------- 1 root tomcat 1338 Jul 6 08:45 context.xml
-rw------- 1 root tomcat 1149 Jul 6 08:45 jaspic-providers.xml
-rw------- 1 root tomcat 2358 Jul 6 08:45 jaspic-providers.xsd
-rw------- 1 root tomcat 3622 Jul 6 08:45 logging.properties
-rw------- 1 root tomcat 7283 Jul 6 08:45 server.xml
-rw------- 1 root tomcat 2164 Jul 6 08:45 tomcat-users.xml
-rw------- 1 root tomcat 2633 Jul 6 08:45 tomcat-users.xsd
-rw------- 1 root tomcat 168577 Jul 6 08:45 web.xml
ls -la
sur le répertoire plutôt que juste unls
sudo chmod g+r ./conf/*
ousudo chmod -R g+r ./conf
? si ceux-ci ne fonctionnent pas, confirmez votre pwd.Réponses:
Je soupçonne que vous n'êtes pas dans le
tomcat
groupe lors de l'exécution des commandes. Le problème ici est que*
votre shellsudo
va étendre le glob avant de s’exécuter , il sera donc étendu en tant qu’utilisateur actuel. Si cet utilisateur ne se trouve pas dans letomcat
répertoire, il n'est pas autorisé à répertorier les fichiersconf
. Par conséquent, la glob ne parvient pas à se développer, ce qui signifie généralement que la chaîne est restituée inchangée. Vous essayez ensuite lasudo
commande, mais l'expansion globale est déjà terminée. il recherche un fichier littéralement nomméconf/*
qui n’existe manifestement pas.Vous pouvez donc utiliser un utilisateur autorisé dans ce répertoire ou
sudo
exécuter une commande qui différera l’expansion globale comme suit:de sorte que le glob sera étendu après
sudo
vous avoir donné des autorisations élevéesPour répondre à votre question de "qu'est-ce que cela signifie", comme je l'ai mentionné ci-dessus, il
*
s'agit d'un caractère global pour les coquillages. Vous pouvez en lire beaucoup ici . C'est un moyen de faire correspondre beaucoup de fichiers sans avoir à les énumérer à la main. Vous spécifiez simplement des modèles qui correspondent aux noms que vous voulez, et*
signifie fondamentalement "à peu près tout ce que vous voulez "Étant donné que l'ordre des opérations semble être important pour cette question, voici une page qui parle de l'ordre dans lequel différentes extensions se déroulent dans la coque (au moins,
bash
mais la plupart sont similaires). Tout ce qui se passe avant que la commande soit exécutée, donc tout se passe avant d'sudo
être appelé dans cette situation spécifique.la source
*
, c’est le shell qui trouve tous les éléments correspondants et les ajoute virtuellement à la liste des arguments.Pour ajouter à la réponse de @Eric Renoufs, vous pouvez donner un accès shell à l'utilisateur tomcat8 en utilisant cette commande
Ce lien m'a dirigé vers cette réponse
la source