[Risolto] error Permission denied su cd cartella

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

[Risolto] error Permission denied su cd cartella

Messaggio da WhiteTiger »

Su un piccolo server 22.04 devo configurare sendmail per inviare dei messaggi di alert.
Ci sarà un solo utente ad inviare messaggi ad una sola casella email.
Cercavo una guida che mi rendesse le cose semplici, ma mi fermo già alle prime righe

Codice: Seleziona tutto

sudo mkdir /etc/mail/authinfo
sudo chmod -R 700 /etc/mail/authinfo
cd /etc/mail/authinfo
ricevo questo errore e non capisco la ragione visto che sto usando l'unico utente del server, quello definito durante la sua installazione.

Codice: Seleziona tutto

-bash: cd: /etc/mail/authinfo: Permission denied
Se in /etc/mail digito:

Codice: Seleziona tutto

l$ ls -all
total 232
drwxr-sr-x   8 smmta smmsp  4096 Feb 22 11:40 .
drwxr-xr-x 115 root  root   4096 Feb 22 12:07 ..
-rw-------   1 root  root   4265 Feb 22 11:37 access
-rw-r-----   1 smmta smmsp 12288 Feb 22 11:37 access.db
-rw-r--r--   1 root  root    281 Dec  9  2021 address.resolve
lrwxrwxrwx   1 root  smmsp    10 Feb 22 11:37 aliases -> ../aliases
-rw-r-----   1 smmta smmsp 12288 Feb 22 11:37 aliases.db
drwx--S---   2 root  smmsp  4096 Feb 22 12:04 authinfo
-rw-r--r--   1 root  root   3241 Feb 22 11:37 databases
-rw-r--r--   1 root  root   5659 Dec  9  2021 helpfile
-rw-r--r--   1 root  smmsp    31 Feb 22 11:37 local-host-names
drwxr-sr-x   2 smmta smmsp  4096 Feb 22 11:37 m4
-rwxr-xr--   1 root  smmsp 10034 Feb 22 11:37 Makefile
drwxr-xr-x   2 root  root   4096 Feb 22 11:37 peers
drwxr-xr-x   2 root  smmsp  4096 Dec  9  2021 sasl
-rw-r--r--   1 root  smmsp 64140 Feb 22 11:37 sendmail.cf
-rw-r--r--   1 root  root  12235 Feb 22 11:37 sendmail.conf
-rw-r--r--   1 root  smmsp  4066 Feb 22 11:37 sendmail.mc
-rw-r--r--   1 root  root    148 Dec  9  2021 service.switch
-rw-r--r--   1 root  root    179 Dec  9  2021 service.switch-nodns
drwxr-sr-x   2 smmta smmsp  4096 Feb 22 11:37 smrsh
-rw-r--r--   1 root  smmsp 44573 Feb 22 11:37 submit.cf
-rw-r--r--   1 root  smmsp  2383 Feb 22 11:37 submit.mc
drwxr-xr-x   2 smmta smmsp  4096 Feb 22 11:37 tls
-rw-r--r--   1 root  smmsp     0 Feb 22 11:37 trusted-users
se digito

Codice: Seleziona tutto

sudo nano /etc/mail/authinfo/smtp-auth
riesco a creare il file, quindi il problema è solo nell'accesso con cd, ma mi sfugge la ragione.
Ho provato su una VM debian 12 e questo problema non c'è.
Ultima modifica di WhiteTiger il sabato 24 febbraio 2024, 17:21, modificato 1 volta in totale.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 6234
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: error Permission denied su cd cartella

Messaggio da GjMan78 »

Codice: Seleziona tutto

sudo -s

Codice: Seleziona tutto

cd /etc/mail/authinfo
Non riesci ad accedere se non sei root perché hai impostato i permessi a 700. Solo l'utente root può accedere ai file in quella cartella.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

Re: error Permission denied su cd cartella

Messaggio da WhiteTiger »

GjMan78 ha scritto:
giovedì 22 febbraio 2024, 18:18
Non riesci ad accedere se non sei root perché hai impostato i permessi a 700. Solo l'utente root può accedere ai file in quella cartella.
Ho controllato e tutte le guide che ho trovato in rete sono praticamente identiche e quel -s non c'è in nessuna.

Non c'è una guida sicura alla quale fare riferimento?
Ho bisogno di una configurazione minima, per altro temporanea perché alla fine del test cancellerò tutto.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 6234
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: error Permission denied su cd cartella

Messaggio da GjMan78 »

Non cercare le guide ma usa i manuali

Codice: Seleziona tutto

man sudo
o per lo meno fai una prova empirica.

Immagine

Tu hai chiesto una soluzione per la tua specifica situazione, io te l'ho proposta.
Forse non sarà l'unica, ma stai tranquillo che funziona.

Se non capisci che differenza c'è tra usare sudo e sudo -s fai un passo indietro e riparti a studiare le basi.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

Re: error Permission denied su cd cartella

Messaggio da WhiteTiger »

GjMan78 ha scritto:
giovedì 22 febbraio 2024, 18:42
Non cercare le guide ma usa i manuali
...
Forse non sarà l'unica, ma stai tranquillo che funziona.

Se non capisci che differenza c'è tra usare sudo e sudo -s fai un passo indietro e riparti a studiare le basi.
Funzionare funziona, poi non parte la mail di test ma quello è un altro film.
La guida che cercavo era per smtp e in nessuna c'è scritto che dovevo passare dall'utente "normale" all'utente di root.
Tant'è che ogni comando è preceduto da "sudo" cosa non necessaria se lavori con root.

Comunque non ho capito cosa abbia bloccato la cartella.
Sotto /etc ne avrò create decine ed è la prima volta che poi non mi fa entrare e chmod 700 dovrebbe creare -rwx------ e non drwx--S----.
O mi sbaglio ancora?
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 6234
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: error Permission denied su cd cartella

Messaggio da GjMan78 »

Non puoi accedere alla cartella come utente normale perché hai impostato i permessi a 700.
In questo modo solo root ha i permessi di lettura, scrittura ed esecuzione. Siccome si parla di una cartella e non di un file l'attributo esecuzione assume un ruolo diverso: per le cartelle abilita gli utenti a "transitare" nella cartella stessa. E' iil diritto di passaggio, per così dire.

Se alla cartella manca il diritto di passaggio per gli utenti diversi da root non puoi accedervi.

Quindi hai due soluzioni: diventare root oppure cambiare i permessi della cartella a 701 abilitando di fatto tutti gli utenti ad entrare nella cartella.

Per quanto riguarda la S nei permessi indica che qualsiasi file creato all'interno della cartella prenderà lo stesso gruppo assegnato alla cartella.
Sicuramente è un attributo che la cartella che hai creato ha ereditato dalla cartella padre.

https://unix.stackexchange.com/question ... f-a-folder

Non hai specificato di preciso quale obiettivo vuoi ottenere quindi ti dico la mia.

Se vuoi inviare mail tramite gmail dal tuo server puoi seguire questa guida https://www.howtoraspberry.com/2021/06/ ... pberry-pi/, parla del raspberry ma alla fine della fiera è sempre debian.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

Re: error Permission denied su cd cartella

Messaggio da WhiteTiger »

L'obiettivo è quello dichiarato nel post di apertura.
Ho un piccolo server che in realtà è un vecchio PC con installato Ubuntu Server 22.04.3 aggiornato.
Su questo c'è una piccola app di servizio che quando non funziona manda una email dall'utente "pippo" a una email esterna, ma per farlo gli serve un MTA.
Non dovendo fare altro, non ho pensato di configurare qualcosa di complicato; così sono andato a cercarmi una guida per installare sendmail.
Le guide ufficiali sono più complesse perché pensate per una configurazione più completa, ad esempio prevedendo anche la ricezione della posta, di più utenti, dello spam, ecc.

Ne ho trovate una dozzina, ma sono tutte uguali.
La prime tre righe di comandi presenti in tutte le guide sono per l'update, l'upgrade e l'install.
Le altre tre righe sono quelle riportate nel post iniziale.
Quindi l'errore di usare 700 è sì mio che l'ho digitato, ma perché banalmente l'ho ricopiato, paro-paro, da un'altra parte.
Sono stato tratto di inganno anche perché su una VM Debian 12 (creata ad hoc per un confronto) stava tutto funzionando a differenza del PC con Ubuntu.
In realtà in Debian 12 ho sia root che il secondo utente, ma questo non l'avevo ancora inserito nel gruppo sudoer e quindi ho sempre lavorato come root.

Il che significa che l'errore è riportato pure nelle guide per Debian.

È il potere dei blog "copia - incolla".

La cosa assurda è che non mi serve obbligatoriamente l'autenticazione e quindi potevo pure saltare quei due comandi che non funzionavano.
L'ho scoperto andando a leggere la documentazione.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 6234
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: error Permission denied su cd cartella

Messaggio da GjMan78 »

WhiteTiger ha scritto:
venerdì 23 febbraio 2024, 9:29
Ho un piccolo server che in realtà è un vecchio PC con installato Ubuntu Server 22.04.3 aggiornato.
Su questo c'è una piccola app di servizio che quando non funziona manda una email dall'utente "pippo" a una email esterna, ma per farlo gli serve un MTA.
Segui le indicazioni del link che ti ho dato, io lo uso sul mio server di backup per inviare mail in caso di problemi nelle procedure.

Ho semplicemente creato un account gmail ad hoc e l'ho configurato seguendo la guida.
Per inviare le mail basta una semplice chiamata a mailx
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

Re: error Permission denied su cd cartella

Messaggio da WhiteTiger »

L'ho letto.
A questo punto mi viene il dubbio che la email non la legge GMail perché esce con la porta 25.
Io sto usando il mio account GMail solo per fare un test, poi userò una email di quelle definite da un mio provider.

Per il momento grazie.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 6234
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: error Permission denied su cd cartella

Messaggio da GjMan78 »

Per utilizzare un account gmail in questo modo devi creare una "Password per le app".
Devi entrare nelle impostazioni dell'account, sicurezza, autenticazione a due fattori ed aggiungere una nuova applicazione con una password diversa da quella dell'account principale. Ed ovviamente utilizzare questa nuova password nella configurazione del servizio.

Immagine
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 14024
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: error Permission denied su cd cartella

Messaggio da thece »

[OT]

:ciao:

@WhiteTiger spero che tu la prenda nel giusto modo ...
WhiteTiger ha scritto:
giovedì 22 febbraio 2024, 17:53
Su un piccolo server 22.04 devo configurare sendmail (nda: argomento che qualificherei come avanzato) per inviare dei messaggi di alert.
Ci sarà un solo utente ad inviare messaggi ad una sola casella email.
Cercavo una guida che mi rendesse le cose semplici, ma mi fermo già alle prime righe

Codice: Seleziona tutto

sudo mkdir /etc/mail/authinfo
sudo chmod -R 700 /etc/mail/authinfo
cd /etc/mail/authinfo
ricevo questo errore e non capisco la ragione visto che sto usando l'unico utente del server, quello definito durante la sua installazione.

Codice: Seleziona tutto

-bash: cd: /etc/mail/authinfo: Permission denied
Il vero problema è che dopo oltre 10 anni tu non abbia ancora compreso come funzionano le autorizzazioni e i permessi su Linux, argomento che qualificherei come di base.

Se un utente X non riesce ad accedere al (attraversare il) path /dir01/dir02/dir03/ la prima cosa che deve andare a fare è controllare gerarchicamente le autorizzazioni e i permessi dell'utente X su tutte le directory che compongono il path, quindi

Codice: Seleziona tutto

ls -ld /dir01/
ls -ld /dir01/dir02/
ls -ld /dir01/dir02/dir03/
e quindi rilevare quale punto non riesce ad attraversare

[/OT]
I'm #1 so why not try: sudo rm -rf / ?
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

Re: error Permission denied su cd cartella

Messaggio da WhiteTiger »

thece ha scritto:
venerdì 23 febbraio 2024, 17:12
[OT]
@WhiteTiger spero che tu la prenda nel giusto modo ...
...
Il vero problema è che dopo oltre 10 anni tu non abbia ancora compreso come funzionano le autorizzazioni e i permessi su Linux, argomento che qualificherei come di base.

Se un utente X non riesce ad accedere al (attraversare il) path /dir01/dir02/dir03/ la prima cosa che deve andare a fare è controllare gerarchicamente le autorizzazioni e i permessi dell'utente X su tutte le directory che compongono il path, quindi

Codice: Seleziona tutto

ls -ld /dir01/
ls -ld /dir01/dir02/
ls -ld /dir01/dir02/dir03/
e quindi rilevare quale punto non riesce ad attraversare

[/OT]
Guarda che io avevo capito dove non potevo entrare, tant'è che ho pure postato

Codice: Seleziona tutto

drwx--S---   2 root  smmsp  4096 Feb 22 12:04 authinfo
Quello che non avevo capito era il perché.

In 10 anni non credo di avere mai usato "sudo -s" partendo dal presupposto che potevo usare "sudo" dal mio utente senza bisogno di scalare a root.

Invece di ripetermi tutti che c'è una differenza abissale tra "sudo" e "sudo -s" (grazie, ne farò tesoro; lo dico senza polemica), perché non provate a spiegarmi cosa c'è che non va nella sequenza dei comandi necessari per installare sendmail?
Perché se l'impostazione di base è "non lavorare come root, ma usa sudo", qui c'è qualcosa che non va.

Codice: Seleziona tutto

sudo apt update
sudo apt upgrade
sudo apt install sendmail
sudo mkdir /etc/mail/authinfo
sudo chmod -R 700 /etc/mail/authinfo
cd /etc/mail/authinfo     ### TOMBOLA! ###
sudo nano smtp-auth
@GjMan78 è stato chiaro sulle ragioni; l'errore è nell'aver usato chmod 700.
Peccato che tutte le guide consultate riportino quel comando, pure in quelle per Debian e nessuna parli di scalare a root, né prima, né dopo, ma sempre di usare (appunto) sudo come da prassi.

Una soluzione, come suggerisce sempre @GjMan78, potrebbe essere usare 701.
Però a questo punto mi chiedo che diritti abbia bisogno sendmail per funzionare, cosa che non ho approfondito perché non ritenevo di doverlo fare seguendo già una guida.

Alla fine quello che per me conta è che sono ad un punto morto.
Anziché configurare l'applicazione per inviare i messaggi attraverso un mail server esterno, preferivo un lavoro più pulito configurando un piccolo server interno da usare soltanto per l'invio di alert; oggi di questa applicazione un domani anche di altre.
Ma sono fermo qui da giorni a capire perché non va.
Avatar utente
Filoteo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1389
Iscrizione: venerdì 28 agosto 2015, 9:38
Desktop: Gnome
Distribuzione: Arch Linux

Re: error Permission denied su cd cartella

Messaggio da Filoteo »

WhiteTiger ha scritto:
sabato 24 febbraio 2024, 12:38
perché non provate a spiegarmi cosa c'è che non va nella sequenza dei comandi necessari per installare sendmail?

Dando sudo mkdir /etc/mail/authinfo, la cartella authinfo viene creata con proprietario e gruppo root. Dando sudo chmod -R 700 /etc/mail/authinfo imposti in modo che authinfo e contenuto siano accessibili solo da root ergo non è possibile poi entrarci come utente standard dando cd /etc/mail/authinfo.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 6234
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: error Permission denied su cd cartella

Messaggio da GjMan78 »

Ti stai facendo problemi dove non ci sono.

Quando si segue una guida bisogna sempre farlo con il giusto grado di scetticismo e se serve correggere o adattare i comandi alla situazione.

Nel caso specifico io avrei risolto il problema evitando di entrare nella cartella
sudo apt update
sudo apt upgrade
sudo apt install sendmail
sudo mkdir /etc/mail/authinfo
sudo chmod -R 700 /etc/mail/authinfo
cd /etc/mail/authinfo
sudo nano /etc/mail/authinfo/smtp-auth
Ma è una soluzione altrettanto valida usare sudo -s, oppure usare il chmod soltanto dopo aver creato il file...sono approcci diversi per giungere allo stesso fine.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
WhiteTiger
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 518
Iscrizione: sabato 6 marzo 2010, 17:48

Re: error Permission denied su cd cartella

Messaggio da WhiteTiger »

GjMan78 ha scritto:
sabato 24 febbraio 2024, 12:58
Ti stai facendo problemi dove non ci sono.

Quando si segue una guida bisogna sempre farlo con il giusto grado di scetticismo e se serve correggere o adattare i comandi alla situazione.

Nel caso specifico io avrei risolto il problema evitando di entrare nella cartella
sudo apt update
cd /etc/mail/authinfo
sudo nano /etc/mail/authinfo/smtp-auth
Hai ragione da vendere e pure doppia.

Di solito non seguo le guide alla lettera e anzi ne apro più d'una e le confronto.
Di quel 700 non ci ho fatto caso perché tutte riportavano la stessa identica istruzione.

Il tuo suggerimento lo avevo già preso in considerazione, tant'è che l'ho citato nel post di apertura.

Comunque adesso di sendmail ne ho fin qui e faccio un bel apt remove.
Poi installo Postfix.
Lo avevo già fatto tempo addietro, con una configurazione a tutto tondo, con dovecot e roundcube, e non sono diventato scemo come adesso.

Grazie a tutti per i contributi e i chiarimenti.
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti