Voici quelques explications complémentaires.
Mais attention tout se fait ou presque avec la console Rxvt:
ajouter un utilisateur.
Exemple fred
Normalement l'ajout d'un utilisateur se fait par la commande console adduser.
Néanmoins, et si j'en crois ce post :
http://www.libellules.ch/phpBB2/mettre- ... 26841.html
la commande en question ne fonctionne pas correctement sous toutou linux.
Donc deux solutions.
Faire comme indiqué dans le post, utiliser un package pet spécifique pour contourner le problème : TinyLogin
ou revenir au fondamentaux.
Optons pour la deuxième option :
ouvir une console linux
aller dans le répertoire /etc par la commande
cd /etc
puis sauvegarder les fichiers :
/etc/passwd
/etc/group
/etc/shadow
par les commandes console
cp /etc/passwd /etc/passwd.old
cp /etc/group /etc/group.old
cp /etc/shadow /etc/shadow.old
ensuite créer un répertoire de partage exemple /home/fred
par les commandes console
mkdir /home
mkdir /home/fred
puis lancer la commande
adduser -h /home/fred fred
Elle provoque une erreur en raison du bug expliqué plus haut.
Néanmoins, elle a quand même le bon goût de créer une entrée de groupe dans le fichier /etc/group
comme on peut le vérifier en faisant affichant son contenu par la commande
cat /etc/group
...
fred
504:
Il convient donc de finir le travail à la main.
Pour cela le plus simple :
Lancer la commande
echo "fred
504:504:Linux User,,,:/home/fred:/bin/sh" >> /etc/passwd
ATTENTION : il est important que le nombre (UID/GID ici 504) corresponde à celui indiqué dans le /etc/group
et surtout de bien mettre les deux ">>" (sinon on écrase le fichier et là ...)
puis afficher le fichier /etc/passwd par la commande
cat /etc/passwd
Il doit contenir à la fin, en plus du contenu initial, exactement cette ligne.
En cas de doute, il vaut mieux recopier la sauvegarde et recommencer (au risque de ne plus pouvoir démarrer toutou)
par la commande console
cp /etc/passwd.old /etc/passwd
Reste le mot de passe md5
il faut l'initialiser dans le fichier /etc/passwd
Donc pour cela le plus simple à nouveau est de lancer la commande suivante :
echo "fred:*:0:99999:7:::" >> /etc/shadow
A nouveau vérifier par la commande
cat /etc/shadow
Il doit contenir à la fin, en plus du contenu initial, exactement cette ligne.
De même en cas de doute, il vaut mieux recopier la sauvegarde et recommencer (au risque de ne plus pouvoir démarrer toutou) par la commande :
cp /etc/shadow.old /etc/shadow
Enfin, tester le nouvel utilisateur par la commande :
su fred
si tout ce passe bien, le # devient un $
sinon, recopier les fichiers et recommencer.
ensuite commande exit
retour au #
Reste à entrer un mot de passe par la commande console
passwd fred
Et le saisir deux foix. (Moi j'ai pris fred)
A nouveau cat /etc/shadow :
...
fred:$1$cnpfH66c$fxogtchr.vUL7nJiSwY6u0:0:99999:7:::
le * est remplacé par la signature md5 du mot de passe.
Enfin modifier les droits du répertoire qui va servir au partage par la commande console
chown -Rvf fred.fred /home/fred
Voila le premier point fait. D'une manière brutale certe.
Remarque : pour recopier une ligne depuis le navigateur (et donc ne pas recopier celle-ci, la marquer à la souris puis dans le terminal faire un clic bouton du milieu ...
il faut que les répertoires
/etc/samba/private
et
/var/cache/samba
soient installés sur un disque physique (et pas la ramfs !!!)
J'explique :
En cas d'installation de toutou sur un disque dur, cela n'a pas d'importance.
En cas d'utilisation comme moi sur une clé usb, c'est un peu plus compliqué et nécessaire.
En effet, les répertoires
/etc/samba/private
et
/var/cache/samba
sont en ramfs et ne peuvent être utilisés par le démon samba.
La solution que j'ai trouvée consiste à monter une partition du disque dur par l'outil toutou qui va bien (la clé usb sur le bureau) puis à créer, sur cette partition, les répertoires :
private
samba
par un clic de droite et nouveau depuis la fenêtre du filer qui s'est ouverte après le montage
puis recopier dedans le contenu des répertoires initiaux.
En console :
cp -Rvf /etc/samba/private/* /mnt/sd??/private
cp -Rvf /var/cache/samba/* /mnt/sd??/samba
ou le /mnt/sd?? (ou /mnt/hd??) correpond à ce qui est affiché dans le titre de la fenêtre du filer de rox (qui s'est ouverte lors du montage de la partition : chez moi sda7 (choix)
On peut évidemment le faire depuis le filer en ouvrant un nouvelle fenêtre puis en allant dans le répertoire /etc/samba/private et en faisant glisser vers la fenêtre ouverte sur le disque dur dans le répertoire précédemment crée private. Attention toutefois à bien choisir une copie et pas un déplacement.
Personnellement, je trouve que la ligne de commande est plus sûre.
en mode console on peut trouver le montage en question par les commandes
df
ou
mount
ensuite renommer les répertoires
/etc/samba/private
et
/var/cache/samba
par :
mv /etc/samba/private /etc/samba/private.old
mv /var/cache/samba /var/cache/samba.old
Enfin créer les liens symboliques :
ln -s /mnt/sd??/private /etc/samba/private
ln -s /mnt/sd??/samba /var/cache/samba
Encore une fois, si toutou est sur un disque dur tout ce travail rébarbatif n'est pas nécessaire.
Mais obtenir une clé usb serveur samba quasi universelle est un truc assez fun sur le principe.
Le fichier /etc/smb.conf doit être modifié à l'exemple donné
# workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
server string = Samba Server
security = user
[fred]
comment = Fred's Service
path = /home/fred
valid users = fred
public = no
browsable = yes
writable = yes
printable = no
Enfin initialiser le secrets.smb par la commande
smbpasswd -a fred
En mettant le même passwd que celui de fred.
Et lancer le démon
/etc/rc.d/rc.samba start
En executant cette commande depuis la console
puis vérifier par la commande console
ps -ef
27849 root 9408 SW /usr/sbin/smbd -D
27851 root 6036 SW /usr/sbin/nmbd -D
27852 root 9408 SW /usr/sbin/smbd -D
27999 root 9768 SW /usr/sbin/smbd -D
Voila j'espère avoir été plus clair, mais j'ai bien dit dans le post, j'ai réussi à faire fonctionner non sans mal.
Il y a beaucoup de commande en mode console j'en suis désolé.
J'espère que ce post t'éclairera.