Newsgroup: it.comp.software.newsreader
Titolo: [MesNews] Import Export Messaggi salvati e Post inviati

I post inviati sono in Dossiers Messages E come file di testo con 
estensione .news, uno per ogni giornata.
 
I messaggi salvati sono invece in Sauvegarde, sempre come file .news, 
in folder con i nomi delle cartelle locali di backup create 
dall'utente.
 
Trattandosi di file di testo, non sarebbe difficile recuperarne il 
contenuto in qualche modo. Quello che mi interessa, però, è se esiste 
un sistema per esportare e reimportare all'interno di MesNews, per 
esempio per trasferirli da un'installazione a un'altra. Chessò, avevo 
un'installazione MesNews dalla quale ho inviato tot post Usenet, ora ne 
ho un'altra dalla quale ho inviato altri post, vorrei "fondere" e 
centralizzare il tutto nell'ultima installazione. Idem per i post 
salvati...
 
L'ideale forse sarebbe un convertitore in formato mbox leggibile anche 
da applicazioni terze.
 
-- 
IdP

 "fondere" e centralizzare il tutto nell'ultima installazione.
 
potresti valutare di avere un server sempre attivo. ho messo leafnode su
una schedina (Raspberry Pi) che si alimenta alla porta usb del
router. ddns sulla scheda stessa nel caso in cui il router non lo
supporti, io accedo via openssh, ma si può creare anche una VPN
punto-punto.


In realtà andrebbe oltre la mia necessità che al momento è limitata a 
un export / import "una tantum" fra due installazioni MN. Per il 
futuro, ho risolto con un'installazione portatile di MesNews.
 
Comunque grazie del suggerimento. Per curiosità, esiste niente, come 
serverino nntp, da far girare su un NAS Synology?
 
-- 
IdP

 serverino nntp, da far girare su un NAS Synology?
 
ipkg è disponibile, c'è anche un'interfaccia grafica di gestione dei
pacchetti. immagino che la configurazione di leafnode andrebbe comunque
fatta via ssh.
 
,----[ links -dump 
http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.html
 | grep leafnode ]
| |leafnode                          |1.11.7-2                 |news         |online newsreaders to read   |
`----


Sì, leafnode c'è su ipkg, mi pare che manchi invece da opkg.
Per ora l'ho installato, è in /opt/sbin
Posso accedere via ssh, però... non so di preciso come configurare.
Ci sono alcune guide online, per es. quella di Individual
https://news.individual.net/configuration/leafnode-1.11-linux-en.php
 
 ma dovrei adattare al caso specifico...
Per esempio devo proprio modificare /etc/hosts per avere un FQDN?
Sinceramente sul nas preferirei toccare il meno possibile.
I file di configurazione di leafnode nel mio caso vanno creati in 
/opt/etc o in /etc/news? Per ora mi pare che non c'è nulla di 
configurazione.
Se provo un checkgroups mi dice no such user: news
Quindi devo creare gruppo e user news come descritto qui?
https://www.linuxfromscratch.org/blfs/view/6.3/server/leafnode.html
 
groupadd -g 36 news &&
useradd -c "Leafnode News Server" -d /var/spool/news -g news \
        -u 36 news
 
Scusa tutte le domande, approfitto perché magari già conosci la strada, 
altrimenti come non detto, farò qualche altra ricerca :)
 
-- 
IdP

        -u 36 news
 
non hai questi comandi sotto Synology, dovrai installare adduser.
 
ricapitolando, installa:
 
nano (editor di testo)
adduser (per creare l'utente e lo spool dove tenere le news così:
 
sudo adduser -D -s /bin/true -h /var/spool/news news
 
)
 
poi si installano:
 
leafnode
xinetd
 
seguendo le due sezioni dell'howto indicato sopra per la configurazione.
 
lo scambio degli articoli con server esterno/i si fa tramite il demone cron.
 
 

 lo scambio degli articoli con server esterno/i si fa tramite il demone cron.
 
Per ora ho installato il tutto, alla prossima puntata la 
configurazione.
Muchísimas gracias! :D
 
-- 
IdP

 appropriate service for that request
 
un wrapper, già.
 
bravo comunque, ci sei quasi. negli orari in cui un nas è acceso per i
backup, sono riuscito a far partire leafnode, pare andare senza problemi.
 
ti confermo che il file di configurazione viene letto sotto /opt, per la
precisione /opt/etc/news/leafnode/ (due directory da creare)
 
mi spiace per i possibili malware sul sito di Antonio, da cellulare non
mi sono accorto di nulla. verificherò e tenterò un contatto se
necessario.
 
ciao
 

 precisione /opt/etc/news/leafnode/ (due directory da creare)
 
 
Forse dipende dalla distribuzione o dalla versione, da me legge il 
config in /opt/etc , che ho creato sulla base del config.example.
 
Ho de-commentato la riga hostname e inserito un FQDN fittizio.
 
Tuttavia fetchnews -f mi diceva:
Forced active fetch requested from command-line (option -f).
lockfile held by pid 12299 on host [nome host del nas], we're [FQDN 
firrizio che ho inserito in config]
Cannot obtain lock file, aborting.
 
Neanche un reboot sbloccava, per cui ho rinominato manualmente 
/opt/var/spool/news/leaf.node/lock.file in modo che può crearne uno 
nuovo.
 
A questo punto va avanti però ottengo un Aborted alla fine di fetchnews 
-fv...
 
leafnode 1.11.7: verbosity level is 1, debugmode is 0
Forced active fetch requested from command-line (option -f).
try_lock(timeout=5), fqdn="
my.xxomississs.org
"
erased stale pid 20497 host 
my.xxomississs.org
 lockfile 
/opt/var/spool/news/leaf.node/lock.file
Forced active fetch after trouble reading active file.
nntp.aioe.org
: connecting to port nntp...
Aborted
 
 
 
Inoltre, dopo aver avviato leafnode quindi con "Leafnode NNTP Daemon 
running...", non riesco a connettermi in telnet da pc locale.
 
-- 
IdP

 running...", non riesco a connettermi in telnet da pc locale.
 
questo invece sembra un problema di configurazione del wrapper, telnet è
l'unica prova che ho fatto (con successo) quando ho installato il
server.
 

 mi spiace per i possibili malware sul sito di Antonio,
 
Comunque la segnalazione era sul mirror su Tiscali.
Invece no problem ora che ho rintracciato il sito originale
http://www.mrshark.it/qechowto/index.html
 
 
-- 
IdP

 
http://www.mrshark.it/qechowto/index.html
 
 
bene. a suo tempo quell'howto è stato un aiuto per molti noob (me
compreso).
 
 
 

 libc tocca anche altri applicativi
 
Chi ha un nas con almeno 3 o 4 giga di RAM forse potrebbe tentare 
tramite virtual machine?

 tramite virtual machine?
 
sì (beato lui).
 
in ogni caso, ho installato un po' di strumenti di sviluppo e compilato
leafnode-1.11.12 (già lanciato fetchnews ed ottenuto un active file).
 
ora sto vedendo come fargli offrire i suoi _servigi_ alla rete locale.

 ora sto vedendo come fargli offrire i suoi _servigi_ alla rete locale.
 
configurato /etc/inetd.conf (nativo del nas, ho disintallato xinetd da
ipkg che in avvio ammazzava eventuali processi correnti); messo i
permessi necessari in /etc/hosts.allow et voila (dopo aver lanciato
/bin/inetd - mi resta da vedere come lanciarlo all'avvio della macchina)
 
per finire:
 
| :/$ cat /etc/cron.d/leafnode
| # Cron entries for Leafnode.
| # Run fetchnews every 4 minutes.
| */4 * * * *  root if [ -x /usr/local/sbin/fetchnews ]; then /usr/local/sbin/fetchnews; fi
 

 tramite virtual machine?
 
| Message-ID: <gsjioh-28d.ln1
                          ^^^
sei uno di quelli? <g>
 
 


Purtroppo no, ma nel frattempo ho messo leafnode su un banalissimo 
vecchio pc.

 vecchio pc.
 
nas con 256 mb di ram qua.
 
,----[ /etc/profile ]
| #/etc/profile: system-wide .profile file for ash.
| 
| umask 022
| 
| PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/opt/sbin:/opt/bin
| export PATH
[...]
`----
 
:/$ source /etc/profile
:/$ sudo -s
Password:
sh-4.3# ipkg install make gcc gawk pcre pcre-dev tcpwrappers
sh-4.3# wget 
https://sourceforge.net/projects/leafnode/files/leafnode/1.11.12/leafnode-1.11.12.tar.bz2
 
sh-4.3# tar jxvf leafnode-1.11.12.tar.bz2
sh-4.3# cd leafnode-1.11.12
sh-4.3# ./configure
sh-4.3# make
sh-4.3# make install
 
,----[ /etc/leafnode/config ]
| expire = 99999
| server = 
| initialfetch = 200
| username = 
| password = 
| port = 119
| hostname = 
| allow_8bit_headers = 1
`----
 
,----[ /etc/inetd.conf ]
| #telnet	stream	tcp	nowait	root	/usr/bin/telnetd	telnetd
| nntp	stream	tcp	nowait	news	/opt/libexec/tcpd	/usr/local/sbin/leafnode
`----
 
sh-4.3# /bin/inetd
 
,----[ /etc/cron.d/leafnode ]
| # Cron entries for Leafnode.
| # Run fetchnews every 10 minutes.
| */10 * * * *  root if [ -x /usr/local/sbin/fetchnews ]; then /usr/local/sbin/fetchnews; fi
`----
 
prova così intanto, se funziona tutto vediamo come far partire il wrapper
con il nas.
 
ciao
 
 

 ciao
 
,----[ hosts.allow ]
| # /etc/hosts.allow: list of hosts that are allowed to access the system.
| #                   See the manual pages hosts_access(5) and hosts_options(5).
| #
| # Example:    ALL: LOCAL @some_netgroup
| #             ALL: .
foobar.edu
 EXCEPT 
terminalserver.foobar.edu
 
| #
| # If you're going to protect the portmapper use the name "rpcbind" for the
| # daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
| #
| 
| #-- leafnode begin
| leafnode: 127.0.0.1,
192.168.0.0/16
 
| #-- leafnode end
`----
 
connessione dal nas stesso e dalle reti locali di classe c (puoi mettere
il tuo primo ottetto significativo -il primo zero- e passare alla
maschera canonica /24)
 

 sh-4.3# ./configure
 
 
configure dà WARNING per la variabile sysconfdir.
 
Anche il gruppo news in effetti manca in /etc/group
C'è in /etc/passwd l'utente news che avevo aggiunto con sudo adduser -D 
-s /bin/true -h /var/spool/news news
 
 
 
ash-4.3# ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gawk... (cached) gawk
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO Standard C... (cached) none 
needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for inline... inline
checking for working volatile... yes
checking for ranlib... ranlib
checking whether make sets $(MAKE)... (cached) yes
checking whether make sets $(MAKE)... (cached) yes
checking for ranlib... (cached) ranlib
checking for a sed that does not truncate output... /bin/sed
checking for ar... ar
checking for strip... strip
checking for rpm... no
checking for id... /usr/bin/id
checking whether AI_ADDRCONFIG is declared... yes
configure: WARNING: ***
configure: WARNING: *** overriding sysconfdir to /etc/leafnode
configure: WARNING: *** use --sysconfdir to fix
configure: WARNING: *** use --sysconfdir='$prefix/etc' to get default 
autoconf behaviour
configure: WARNING: ***
checking spooldir... /var/spool/news
checking lockfile... /var/spool/news/leaf.node/lock.file
checking for mode_t... yes
checking for off_t... yes
checking for uid_t in sys/types.h... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for system include files... yes
checking whether time.h and sys/time.h may both be included... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking for strings.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for net/if.h... yes
checking for netinet/in.h... yes
checking for net/if_var.h... no
checking for netinet/in_var.h... no
checking for socklen_t... yes
checking for an ANSI C-conforming const... yes
checking for pid_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_gmtoff... yes
checking size of long... 4
checking size of time_t... 4
checking user... news
checking group... news
configure: WARNING: Group "news" does not exist.
checking for pcre-config... /opt/bin/pcre-config
checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking for pcre_compile in -lpcre... yes
checking for BSD4.2 syslog... no
checking for strftime... yes
checking for setgid... yes
checking for setuid... yes
checking for getifaddrs... yes
checking for lstat... yes
checking for getline... yes
checking for strdup... yes
checking for mkstemp... yes
checking for strlcpy... no
checking for timegm... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking if your system's snprintf works... yes
checking for library containing gethostent... none required
checking for library containing setsockopt... none required
checking for library containing syslog... none required
checking if your sockaddr has sa_len... no
checking if your system supports SIOCGIFALIAS... no
checking if gcc is really Intel C++... no
checking for some good GCC flags...  -Wall -W -Wextra 
-Wstrict-prototypes -Wwrite-strings -Wno-unused-result
checking rpm build dir... none
checking for tcpserver... none
checking for argv0... none
checking for tcpd... none
configure: creating ./config.status
config.status: creating subst
config.status: creating leafnode.spec
config.status: creating Makefile
config.status: creating doc_german/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default commands
*** leafnode 1.11.12 is now configured and prepared to be compiled.
*** to compile, type 'make' (without the quotes)
*** to run some tests, type 'make check' (without the quotes)
*** to install, type 'make install' as root (without the quotes)
configure: WARNING: Review the warnings given above and check if you 
need to fix
configure: WARNING: the situation that caused the warning


 Anche il gruppo news in effetti manca in /etc/group
 
verrà ssistemato dal make install
 

issdr submitted this idea :

make install si conclude con errori.
 
 
 
sh-4.3# make
 
[...]
 
miscutil.c: In function 'initvars':
miscutil.c:105:29: warning: 'snprintf' output may be truncated before 
the last format character [-Wformat-truncation=]
      snprintf(b, sizeof(b), "%03lu", u);
                             ^~~~~~~
miscutil.c:105:6: note: 'snprintf' output between 4 and 5 bytes into a 
destination of size 4
      snprintf(b, sizeof(b), "%03lu", u);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[...]
 
texpire.c: In function 'main':
texpire.c:565:29: warning: 'snprintf' output may be truncated before 
the last format character [-Wformat-truncation=]
  snprintf(buf, sizeof(buf), "%03d", n); /* safe */
                             ^~~~~~
texpire.c:565:2: note: 'snprintf' output between 4 and 5 bytes into a 
destination of size 4
  snprintf(buf, sizeof(buf), "%03d", n); /* safe */
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[...]
 
 
 
 
 
 
sh-4.3# make install
make 'LDFLAGS=-L/opt/lib -lpcre' install-recursive
make[1]: Entering directory '/volume1/my/leafnode-1.11.12'
Making install in .
make[2]: Entering directory '/volume1/my/leafnode-1.11.12'
make[3]: Entering directory '/volume1/my/leafnode-1.11.12'
 /bin/mkdir -p '/usr/local/bin'
  /bin/install -c newsq leafnode-version '/usr/local/bin'
 /bin/mkdir -p '/usr/local/sbin'
  /bin/install -c leafnode fetchnews texpire checkgroups applyfilter 
'/usr/local/sbin'
 /bin/mkdir -p '/etc/leafnode'
 /bin/install -c -m 644 config.example filters.example 
run.tcpserver.dist run.tcpd.dist nntp.rules.dist Makefile.dist 
UNINSTALL-daemontools '/etc/leafnode'
 /bin/mkdir -p '/usr/local/share/man/man1'
 /bin/install -c -m 644 newsq.1 leafnode-version.1 
'/usr/local/share/man/man1'
 /bin/mkdir -p '/usr/local/share/man/man8'
 /bin/install -c -m 644 applyfilter.8 checkgroups.8 fetchnews.8 
leafnode.8 texpire.8 '/usr/local/share/man/man8'
make 'LDFLAGS=-L/opt/lib -lpcre' install-data-hook
make[4]: Entering directory '/volume1/my/leafnode-1.11.12'
set -e ; for i in "" /leaf.node /failed.postings /interesting.groups \
        /out.going /
message.id
 /temp.files ; do \
        mkdir -p /var/spool/news$i ; \
if ./amiroot ; then \
 chown news:news /var/spool/news/$i ; \
 chmod 2775      /var/spool/news/$i ; fi ; \
done
chown: invalid group: ‘news:news’
Makefile:1627: recipe for target 'install-data-hook' failed
make[4]: *** [install-data-hook] Error 1
make[4]: Leaving directory '/volume1/my/leafnode-1.11.12'
Makefile:1481: recipe for target 'install-data-am' failed
make[3]: *** [install-data-am] Error 2
make[3]: Leaving directory '/volume1/my/leafnode-1.11.12'
Makefile:1428: recipe for target 'install-am' failed
make[2]: *** [install-am] Error 2
make[2]: Leaving directory '/volume1/my/leafnode-1.11.12'
Makefile:987: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/volume1/my/leafnode-1.11.12'
Makefile:1422: recipe for target 'install' failed
make: *** [install] Error 2

 make install si conclude con errori.
 
si tratta del solo make (make install lo devi fare dopo) e sono solo
avvisi. vai pure avanti.
 

 chown: invalid group: ‘news:news’
 
non ho visto la parte relativa al make install, spiacente.
 
sh-4.3# ipkg install adduser
sh-4.3# addgroup news
 
e riprova

issdr expressed precisely :

Una volta creato manualmente il gruppo news, make install termina senza 
errori.
La buona notizia è che ora fetchnews -f non abortisce, quindi direi che 
ci hai azzeccato! :)
 
La seconda buona notizia è che leafnode pare facile da disinstallare 
anche in questa installazione da sorgente. Ho fatto la prova e supporta 
make uninstall. In pratica l'uninstall rimuove i 21 files che aveva 
creato il make install (vedi sotto).
 
 
Dall'output di make unistall
...
 ( cd '/usr/local/bin' && rm -f newsq leafnode-version )
 ( cd '/usr/local/share/man/man1' && rm -f newsq.1 leafnode-version.1 )
 ( cd '/usr/local/share/man/man8' && rm -f applyfilter.8 checkgroups.8 
fetchnews.8 leafnode.8 texpire.8 )
 ( cd '/usr/local/sbin' && rm -f leafnode fetchnews texpire checkgroups 
applyfilter )
 ( cd '/etc/leafnode' && rm -f config.example filters.example 
run.tcpserver.dist run.tcpd.dist nntp.rules.dist Makefile.dist 
UNINSTALL-daemontools )
make 'LDFLAGS=-L/opt/lib -lpcre' uninstall-hook
...
 
 
Poi ho reinstallato leafnode da capo.
 
A questo punto mi resta da configurare il tutto...
 
Ho modificato il file di configurazione /etc/inetd.conf e avviato 
/bin/inetd.
 
Ho infine creato e configurato
 /etc/cron.d/leafnode
che non esisteva,
con
sudo touch leafnode
Come permessi vedo
-rw-r--r-- 1 root root
 
 
OK?

 OK?
 
sì.
 


Aggiunte anche le righe per l'allow.
 
Vedo finalmente una porticina 119 sul nas in rete locale...
 
Però provando a scaricare la lista dei gruppi da mesnews mi dà server 
irrangiungibile...
 
-- 
IdP

 irrangiungibile...
 
hai ricaricato inetd?
 
sempre da root (fai sudo -s):
 
sh-4.3# pidof inetd
 
poi killi il numero di processo; oppure, in un colpo:
 
sh-4.3# kill $(pidof inetd)
 
e poi lo rilanci:
 
sh-4.3# /bin/inetd
 


Sì, ma non risolve.
 
Comunque noto che dopo il kill il processo viene automaticamente 
riavviato con un altro pid.
Se lo avvio anche manualmente, pidof inetd mostra due pid.
 
 
Stavo anche ˈpensando se vale la pena installare il newsreader tin da 
ipkg per leggere da leafnode in locale.
 
-- 
IdP

 ipkg per leggere da leafnode in locale.
 
quello o slrn (provato, utilizzando vim come editor)
 

 quello o slrn (provato, utilizzando vim come editor)
 
 
Insallato slrn
Riesco  a vedere la lista dei gruppi su 
nntp.aioe.org
 per esempio, ma 
non su localhost
O forse sbaglio io il comando?
 
slrn -h localhost
slrn 0.9.9p1
Loading /opt/share/slrn/slang/
slrn.sl
 
Using newsrc file /var/services/homes/my_nas_admin/.jnewsrc for server 
localhost.
Connecting to localhost ...
Unable to make connection. Giving up
Run-Time Error
slrn fatal error:
Failed to initialize server.
 
 
Provato anche come root...
 
$ sudo slrn -h localhost -f /root/.jnewsrc --create
slrn 0.9.9p1
 
Loading /opt/share/slrn/slang/
slrn.sl
 
Using newsrc file /root/.jnewsrc for server localhost.
Connecting to host localhost ...
Failed to initialize server
Run-Time Error
Reason:
slrn fatal error:
Failed to initialize server.
 
-- 
IdP

 Failed to initialize server.
 
grep news /etc/groups
 
?

 ?
 
C'è il gruppo news:x:1000 , però in /etc/group
 
 
In /var/log/messages trovo varie righe
inetd: nntp/tcp: bind: Permission denied
intervallate di 10 minuti (come da cron)
 
-- 
IdP

 intervallate di 10 minuti (come da cron)
 
qui ti sta dicendo che fetchnews non ha le autorizzazioni giuste per
uscire da nntp (porta 119, trovi le associazioni in
/etc/service). vediamo se inserendo nel gruppo news l'utente news si
sistema la cosa
 

 sistema la cosa
 
 
Attualmente in services c'è
 
nntp            119/tcp         readnews untp   # USENET News Transfer 
Protocol
 
 
Provo a riavviare...
 
Per ora non noto differenze...
 
 
Dopo il riavvio del sistema inetd non è partito da solo, l'ho avviato 
manualmente...
 
In /var/log/messages vedo anche una sfilza di inetd cannot execute 
/opt/libexec/tcpd: No such file or directory
 
-- 
IdP

 /opt/libexec/tcpd: No such file or directory
 
permessi incasinati, facciamo un passo indietro:
 
sh-4.3# deluser news
deluser: can't find news in /etc/group
sh-4.3# adduser -D -s /bin/true -h /var/spool/news news


Fatto, ma...
 
sh-4.3# grep news /etc/group
news:x:1000:
 
sh-4.3# grep news /etc/passwd
news:x:1000:1000:Linux User,,,:/var/spool/news:/bin/true
 
-- 
IdP

Segnalo anche questa vecchia guida (del 2001), in inglese ma abbastanza 
semplice...
 
https://www.techrepublic.com/article/news-with-leafnode/
 
 
Trovo questi passaggi... Non ho idea se ancora validi!
 
 
useradd -d /var/spool/news -M -r -s /bin/true news
 
 
cd leafnode-1.9.18
./configure --prefix=/usr
make
make install
 
 
/etc/leafnode/config.example
 
 
su – news
crontab -e
 
crontab:
0 4 * * 1 /usr/sbin/texpire
01 * * * * /usr/sbin/fetchnews
 
 
/usr/sbin/fetchnews -v -n
 
 
/etc/inetd.conf file and insert this line:
nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode
 
(oppure senza wrapper:
nntp stream tcp nowait news /usr/sbin/leafnod
)
 
 
kill -HUP `cat /var/run/inetd.pid`
 
 
/etc/hosts.deny
leafnode: ALL EXCEPT 192.168.1. 127.0.0.1
 
 
/etc/nntpserver
(include your local IP address)
 
-- 
IdP


bene, almeno su questo adesso siamo allineati: a me così funziona;
continui ad avere errori su /var/log/messages ?
 

 continui ad avere errori su /var/log/messages ?
 
Sempre il cannot execute ... /opt/libexec/tcpd
 
 
tcpd lo trovo in
 
sh-4.3# find / -name tcpd
/volume1/@optware/libexec/tcpd
 
Dovrei copiarlo in /opt/libexec?
 
-- 
IdP


oppure conviene modificare così /etc/inetd.conf ?
 
nntp    stream    tcp    nowait    news    
/volume1/@optware/libexec/tcpd    /usr/local/sbin/leafnode
 
-- 
IdP


Nessuno dei due, mi rispondo da solo. tcpd già c'è anche in 
/opt/libexec , non è quello il punto.
 
Sarà questione di permessi...
 
-- 
IdP

 Sarà questione di permessi...
 
Aggiungo però che
sudo -u news test -x /opt/libexec/tcpd || echo "No"
sembra dare risultato positivo...
 
-- 
IdP


ce l'hai, ce l'hai. solo uno, opt è un link a @volume1:
 
sh-4.3# ls / -lgH | grep opt
lrwxrwxrwx   1 root      17 Jun  3 00:07 opt -> /volume1/@optware
 
avevi rimosso xinetd, giusto?
 
continuo a pensare c'entrino i diritti; prova a ripetere il make install
di leafnode, adesso dovresti avere utente e gruppo news apposto.
 

 Trovo questi passaggi... Non ho idea se ancora validi!
 
versione di leafnode superata e non hai useradd qua.

 di leafnode, adesso dovresti avere utente e gruppo news apposto.
 
sudo -s
cd nella dir di installazione leafnode
makeinstall concluso senza errori
killo e riavvio inetd
ma in messages compare sempre: impossibile eseguire tcpd...
 
-- 
IdP


Da quella guida ho rubato l'idea del senza wrapper. Provato, e senza 
wrapper... finalmente funziona!
 
Quali sono però gli inconvenienti di fare a meno del wrapper tcp, come 
sicurezza?
 
-- 
IdP


Mi ripondo: senza tcp wrapper è SCONSIGLIATO! non essendoci il 
controllo su hosts.allow e deny. Quindi si esporrebbe direttamente la 
porta 119 anche all'esterno, se ben capisco.
http://www.pluto.it/files/journal/pj9704/tcpwrapper.html
 
 
-- 
IdP

 hosts.allow e deny. Quindi si esporrebbe direttamente la porta 119 anche 
...
 
A proposito di sicurezza... Leggendo il man di hosts.allow e deny 
sembrerebbe che per chiudere tutto, tranne ciò è esplicitamente 
permesso in allow, si deve inserire
 ALL: ALL
in hosts.deny... E' così?
Ma quindi non basta limitare gli IP permessi nell'hosts.allow e 
lasciare il deny vuoto?
 
 
 
Mostly Closed
In this case, access is denied by default. Only explicitly authorized 
hosts are permitted access.
 
The default policy (no access) is implemented with a trivial deny file:
 
/etc/hosts.deny:
 
ALL: ALL
This denies all service to all hosts, unless they are permitted access 
by entries in the allow file.
The explicitly authorized hosts are listed in the allow file.
 
https://linux.die.net/man/5/hosts.allow
 
 
-- 
IdP

 
http://www.pluto.it/files/journal/pj9704/tcpwrapper.html
 
 
Per quanto, è anche vero che leafnode di default non permette 
connessioni dall'esterno della rete locale.
 
da config.example
## By default, leafnode only serves connections from addresses in the
## local networks and drops those from outside. An IPv4 address, or an
## IPv6 address on computers that provide the getifaddrs() interface is
## considered local if it is within the networks (IP/netmask) of the
## local interfaces.
 
-- 
IdP


sì, ma è buona prassi utilizzare un wrapper. con le macchine attuali è
secondario, ma un tempo oltre alla maggiore sicurezza si ottimizzavano
le risorse (il processo/servizio veniva attivato solo quando richiesto).
 
se sei ancora interessato, posso riassumere tutto il setup, levando
tutto dal mio nas e rifacendo da zero.
 
in merito al discorso archiviazione e crosspost, mi sembra tu abbia già
individuato le variabili da impostare; l'expire nella mia configurazione
è alle calende greche, se lo hai copiato è già una prima tutela. mi pare
che resta solo da approfondire se si può evitare l'unsubscribe
automatico (e/o vedere come risultano archiviati i xpost, si potrebbero
utilizzare i vari gruppi di test)
 
 
 

 utilizzare i vari gruppi di test)
 
La cosa dell'xpost è un po' seccante, per risparmiare una manciata di 
Bytes ti può lasciare un gruppo con buchi quando desottoscrivi un altro 
gruppo... però tutto sommato non  è un enorme problema se non cambi i 
gruppi sottoscritti nel tempo, e oramai il panorama Usenet, quel che 
resta, è abbastanza stazionario...
 
Alcuni valori di default tipo maxage applicati anche quando 
commentati... sbaglierò ma secondo me è un errore concettuale... 
comunque una volta scoperto l'inghippo ci si adegua.
 
Credo anche che mi convenga spostare la dir news e lasciare un symbolic 
link in /var/spool, per sfruttare gli inodes "illimitati" del volume 
brtfs del nas, visto che leafnode è affamato di inodes e nelle mie 
prove aveva esaurito quelli di / ext4 (momenti di brivido... ho 
recuperato cancellando news).
 
-- 
IdP