Schplurtzeries
Le wiki de schplurtz
Dokuwiki

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

nslu2:default [2012/08/11 23:36]
ztrulphcs [Changer le port de sshd]
nslu2:default [2018/04/16 18:45] (Version actuelle)
ztrulphcs [setuid/setgid busybox] mise en forme
Ligne 483: Ligne 483:
  
 ++++Détails dans ce message de http://lists.busybox.net/pipermail/busybox/2004-May/011551.html| ++++Détails dans ce message de http://lists.busybox.net/pipermail/busybox/2004-May/011551.html|
 +<file>
 [BusyBox] Got /etc/busybox.conf SUI SGID working at last [BusyBox] Got /etc/busybox.conf SUI SGID working at last
 gerald.bonne at axa.be gerald.bonne at axa.be gerald.bonne at axa.be gerald.bonne at axa.be
Ligne 549: Ligne 550:
 An HTML attachment was scrubbed... An HTML attachment was scrubbed...
 URL: http://busybox.net/lists/busybox/attachments/20040507/c2f90fdb/attachment.htm URL: http://busybox.net/lists/busybox/attachments/20040507/c2f90fdb/attachment.htm
 +</file>
 ++++ ++++
  
Ligne 1129: Ligne 1130:
  
 ==== installation de cups ==== ==== installation de cups ====
 +
 +Cups est le système de gestion des imprimantes qui va permettre de partager par réseau une imprimante installée sur le pot usb du NSLU2.
  
 Au départ, c'est facile Au départ, c'est facile
Ligne 1146: Ligne 1149:
   Linux* | *BSD* | Darwin*)   Linux* | *BSD* | Darwin*)
 - pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'` - pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
-+ pid=`busybox ps w | awk '$5 ~ /cupsd$/ {print $1}'`++ pid=`busybox ps w | awk '$5 ~ /\/cupsd$/ { print $1 }'`
   ;;   ;;
   *)   *)
Ligne 1153: Ligne 1156:
 On peut maintenant démarrer le service d'impression cups : On peut maintenant démarrer le service d'impression cups :
   /etc/init.d/cups start   /etc/init.d/cups start
 +
 +Ensuite, il faut configurer un peu cups. En effet, par défaut, les imprimantes gérées par cups ne sont pas partagées sur le réseau !! Pour changer cela, il faut un navigateur (ou savoir éditer le fichier ''/etc/cups/cupsd.conf''). Mais l'interface web est elle aussi restreinte au NSLU2. Donc pas moyen de configurer cups sauf à avoir un navigateur en local sur le slug avec affichage distant... Un peu lourd. Solution : Depuis mon PC sous linux, je créee un tunnel ssh du port 1631 vers le port local 631 de cups. Ensuite depuis mon PC sous linux, j'utilise un navigateur pointé vers ''%%http://127.0.0.1:1631/%%'' pour entrer en contact avec le cups du slug. Là, dans l'interface d'administration je règle le partage d'imprimante. Quand cups demande un nom et un mote de passe, il faut mettre ''root'' et le mot de passe de root. Le navigateur est ensuite redirigé vers un URL foireux. C'est pas grave, le boulot est fait, et on peut toujours revenir à cups par l'URL indiqué plus haut...
 +  * <cli>
 +  moi@monpc ~ $ ssh -L 1631:127.0.0.1:631 slug
 +</cli>
 +  * \\ {{:nslu2:nslu2-config-cups.png?direct&300|}}
 +  * \\ {{:nslu2:nslu2-config-cup-admin-share-printer.png?direct&300|}}
 +  * \\ {{:nslu2:nslu2-config-cups-root-pasword.png?direct&300|}}
 +  * ++fichier «/etc/cups/cupsd.conf» qui en résulte|<file conf cupsd.conf>
 +LogLevel info
 +SystemGroup sys root
 +# Allow remote access
 +Port 631
 +Listen /var/run/cups/cups.sock
 +# Share local printers on the local network.
 +Browsing On
 +BrowseOrder allow,deny
 +BrowseAddress @LOCAL
 +DefaultAuthType Basic
 +<Location />
 +  # Allow shared printing...
 +  Order allow,deny
 +  Allow @LOCAL
 +</Location>
 +<Location /admin>
 +  Encryption Required
 +  Order allow,deny
 +  Allow localhost
 +</Location>
 +<Location /admin/conf>
 +  AuthType Basic
 +  Require user @SYSTEM
 +  Order allow,deny
 +  Allow localhost
 +</Location>
 +<Policy default>
 +  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
 +    Require user @OWNER @SYSTEM
 +    Order deny,allow
 +  </Limit>
 +  <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
 +    AuthType Basic
 +    Require user @SYSTEM
 +    Order deny,allow
 +  </Limit>
 +  <Limit Cancel-Job CUPS-Authenticate-Job>
 +    Require user @OWNER @SYSTEM
 +    Order deny,allow
 +  </Limit>
 +  <Limit All>
 +    Order deny,allow
 +  </Limit>
 +</Policy>
 +</file>++
 +    * permissions du fichier<cli>
 +root@slug:/etc/cups # ll cupsd.conf
 +-rw-r-----    1 root     lp           1482 Aug 12 11:51 cupsd.conf
 +root@slug:/etc/cups # chown root:lp /etc/cups/cupsd.conf
 +root@slug:/etc/cups # chmod 640 /etc/cups/cupsd.conf
 +root@slug:/etc/cups # /etc/init.d/cups restart
 +/etc/init.d/cups: line 232: echo_success: not found
 +cups: restarted scheduler.
 +schpluntz:/etc/cups# 
 +</cli>
 +
 +=== Installation d'une imprimante ===
  
 Ensuite, il faut installer une imprimante... Comme cette imprimante sera reliée par usb, il faut avant tout s'assurer que le noyau a bien le pilote (comprendre le module) permettant de causer aux imprimantes usb. Ensuite, il faut installer une imprimante... Comme cette imprimante sera reliée par usb, il faut avant tout s'assurer que le noyau a bien le pilote (comprendre le module) permettant de causer aux imprimantes usb.
Ligne 1181: Ligne 1250:
  
 Ayant récupéré le PPD de l'iprimante sur http://www.cups.org/, je le francise en indiquant que la taille par défaut est A4 et pas letter. Mon imprimante et réglée comme ça d'ailleurs... Ayant récupéré le PPD de l'iprimante sur http://www.cups.org/, je le francise en indiquant que la taille par défaut est A4 et pas letter. Mon imprimante et réglée comme ça d'ailleurs...
 +
 +Voilà la commande à passer pour modifier le fichier ppd. Cette commande devrait fonctionner pour à peu près n'importe quel fichier PPD.
 +<cli>
 +root@slug # sed -i -e '/Default.*: *LETTER/s/LETTER/A4/'  \
 +        -e '/Default.*: *Letter/s/Letter/A4/'  \
 +        -e '/Default.*: *letter/s/letter/a4/'  \
 +        /tmp/HP_LaserJet_1320_series.ppd
 +
 +</cli>
 +Et voilà le résultat :
 <file diff> <file diff>
 --- hpc1320s.ppd Sat Aug 11 23:12:35 2012 --- hpc1320s.ppd Sat Aug 11 23:12:35 2012
Ligne 1232: Ligne 1311:
 root@slug # cupsenable lj1320 root@slug # cupsenable lj1320
 </cli> </cli>
 +
 ==== installation d'un compilateur ==== ==== installation d'un compilateur ====
  
-Pour compiler une bricole ou deux pour le slug, pas besoin d'installer tout un environnement de cross compilation sur un linux. On peut installer quelques paquets de développement sur le slug. mais c'est vraiment pour de petites choses.+Pour compiler une bricole ou deux pour le slug, pas besoin d'installer tout un environnement de cross compilation sur un linux. On peut installer quelques paquets de développement sur le slug. mais c'est vraiment pour de petites choses (normalement).
  
-<cli>+  * Le minimum pour développer en C<cli>
 root@schpluntz:~# opkg install gcc gcc-symlinks libc6-dev cpp cpp-symlinks binutils-dev root@schpluntz:~# opkg install gcc gcc-symlinks libc6-dev cpp cpp-symlinks binutils-dev
 +</cli>
 +  * Et pour développer en C+%%+%%<cli>
 +root@schpluntz:~# opkg install g++ g++-symlinks libstdc++-dev
 </cli> </cli>
  
Ligne 1594: Ligne 1677:
  
   - Tout ce qui est interne passe (mon réseau interne est 192.168.0.0/16)   - Tout ce qui est interne passe (mon réseau interne est 192.168.0.0/16)
 +  - Tout de qui vient de la boucle locale passe (127.0.0.1/16)
   - seuls 2 ou trois ports de l'extérieurs passent. Je laisse rentrer ssh (22) et https (443)   - seuls 2 ou trois ports de l'extérieurs passent. Je laisse rentrer ssh (22) et https (443)
   - les paquets réseau en rapport avec une connexion connue peuvent passer. Ça permet d'ouvrir des connexions depuis la machine vers l'extérieur. sans cette règle on ne peut plus se connecter à quoi que ce soit vers l'extérieur.   - les paquets réseau en rapport avec une connexion connue peuvent passer. Ça permet d'ouvrir des connexions depuis la machine vers l'extérieur. sans cette règle on ne peut plus se connecter à quoi que ce soit vers l'extérieur.
Ligne 1610: Ligne 1694:
 <cli> <cli>
 root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
 +root@slug # iptables -A INPUT -s 127.0.0.1/16 -j ACCEPT
 root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT
 root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
Ligne 1698: Ligne 1783:
 /usr/sbin/iptables-save /usr/sbin/iptables-save
 root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
 +root@slug # iptables -A INPUT -s 127.0.0.1/16 -j ACCEPT
 root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT
 root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT