Utilisateurs sous Linux - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 14-01-2009 à 19:08:00
Oui, un utilisateur accédant à un share samba est à la base un utilisateur du système d'exploitation.
En gros, si tu veux pouvoir te logger sous samba avec l'user "toto" il faut que "toto" soit avant tout user déclaré sur ton système.
Ensuite la commande smbpasswd -a "user" te permettra de déclarer l'utilisateur unix pour samba
Marsh Posté le 15-01-2009 à 11:11:08
Merci de ta réponse .
J'ai en effet pû le constater en réel.
Personne pour les autres questions ?
Marsh Posté le 15-01-2009 à 16:31:25
_ToM_343 a écrit : Pourquoi faut-il absolument créer un compte Unix pour le poste, le compte utilisateur ne suffit pas ? |
parce que dans un domaine, l'utilisateur ET le poste peuvent avoir des droits, et des droits différents (via des GPO, Group POlicy par exemple)
Il faut donc être capable d'identifier chaque poste client indépendamment
_ToM_343 a écrit : Pourquoi ce compte pour le PC est terminé par un $ à la fin systématiquement ? |
Parce que ce '$' est ce qui fait que c'est un compte de machine, et non pas un compte d'utilisateur ...
_ToM_343 a écrit : Faut-il obligatoirement un compte Unix et un compte Samba pour se connecter au domaine ? |
Oui ...
Samba n'est qu'une 'sur-couche' de ton OS GNU/Linux. Donc partager des dossiers par Samba c'est cool, tu poses des droits sur le partage pour différents utilisateurs, mais encore faut-il que ces utilisateurs aient les droits d'accéder réellement aux fichiers. Il faut donc leur donner des droits sur ces fichiers via le système de fichiers ou des acls. Donc tu as un besoin d'un utilisateur correspondant, sur lequel se basera l'OS
_ToM_343 a écrit : Quelles différences y'a t-il entre les deux ? |
Je complète la réponse du dessus :
tu partages /home/samba/public en tant que "public"
sur ce partage "public" les utilisateurs "toto" et "titi" ont accès en lecture / écriture
Ca c'est la partie Samba. Je me connecte en "toto" j'ai accès au partage, je me connecte en "tutu", je n'y ai pas accès
et au niveau de l'OS tu vas dire que "toto" et "titi" appartiennent au groupe "admin" et "tutu" au group "users"
tu mets des droits (ou acls) sur le dossier (et ses sous dossiers et fichiers) /home/samba/public pour que le groupe "admin" puisse y lire / écrire
Une fois que "toto" voudra, à travers le partage "public", lire ou écrire un fichier sous /home/samba/public, c'est l'OS qui l'autorisera ...
Note que tu pourrais très bien accéder en lecture / écriture aux fichiers sous /home/samba/public, en tant que "toto" par d'autres moyens ... (ftp, ssh, ...)
Marsh Posté le 16-01-2009 à 10:37:35
Merci de ta réponse très complète fighting_falcon .
Les choses sont plus claires à présent !
Si je résume, Samba va nous servir pour tout ce qui est connexion au domaine et partage de fichiers sur celui-ci. Et d'un autre coté, pour donner des droits sur les fichiers aux utilisateurs, il faut que les comptes utilisateurs soient sur Linux. Donc les accès aux différents répertoires se gèrent de ce coté.
J'ai encore une petite question qui me taraude, je me permets donc de la poser :
Quand on déclare dans le smb.conf pour un répertoire partagé (que l'on appellera "test" ) :
create mask = 775
directory mask = 775
(Par exemple).
Et quand dans un même temps on fait la chose suivante sur Linux :
chmod 755 test
Les lignes dans le smb.conf correspondent au partage et le "chmod 755 test" correspond aux permissions ? C'est à dire que pour le partage général on donne accès à tous les utilisateurs du même groupe que le propriétaire en lecture/écriture alors que pour ce répertoire en lui-même on ne leur donne que la lecture ?
Et que se passe t'il si l'on met un "create mask = 700" dans le smb.conf puis que pour les droits Unix on choisit de mettre "chmod 755 test" ? Logiquement, la plus petite restriction l'emporte ?
Merci bien .
Marsh Posté le 16-01-2009 à 17:42:02
_ToM_343 a écrit : C'est à dire que pour le partage général on donne accès à tous les utilisateurs du même groupe que le propriétaire en lecture/écriture alors que pour ce répertoire en lui-même on ne leur donne que la lecture ? |
Non ...
Le fait que ton partage sera accessible à tel utilisateur / groupe est contrôlé par la directive valid users
(par exemple valid users = toto ou valid users = @adm)
Le fait que ton partage sera accessible en lecture ou en lecture/écriture dépend de la directive read only
(par exemple read only = yes -> partage en lecture seule),
avec éventuellement en plus la directive write list
(write list = @adm -> partage en lecture/écriture uniquement pour les membres du groupe "adm", en lecture seule pour les autres)
Les directives create mask et directory mask permettent de définir les droits respectivement à un fichier, à un dossier, lors de leur création.
Tu te connectes en tant que "toto" à ton partage test, et tu as les droits d'écriture (et sur ton partage, et sur le dossier qui est derrière). Tu crées un dossier "a" puis dedans un fichier b.txt.
De façon imagée, avec ces directives, après avoir écrit le contenu des fichiers, Samba exécutera les commandes chmod 775 a et chmod 775 a/b.txt
_ToM_343 a écrit : Et que se passe t'il si l'on met un "create mask = 700" dans le smb.conf puis que pour les droits Unix on choisit de mettre "chmod 755 test" ? Logiquement, la plus petite restriction l'emporte ? |
* Seul le propriétaire du dossier test pourra créer de nouveaux fichiers / sous dossiers (puis le groupe et les autres n'ont pas le droit d'écriture : 755 = rwx r-x r-x, groupe = r-x et autres = r-x)
* Ensuite, tous les fichiers qu'il créera auront comme droits 700 = rxw------, et seront donc illisibles par les autres utilisateurs ...
Tu remarqueras que c'est le même fonctionnement que sous Windows ...
Lorsque tu fais un "clic droit -> propriétés" sur un dossier partagé, tu as un onglet "partage" dans lequel tu configures les droits au niveau du partage, et un AUTRE onglet "sécurité" dans lequel tu configures les droits au niveau du système de fichiers ...
Marsh Posté le 17-01-2009 à 13:09:20
Oui, connaissant le fonctionnement sous Windows, j'essaye justement de faire le rapport avec le partage et les permissions sous Linux. C'est d'ailleurs ce qui me pose problème ici. Enfin, vous avez dû le remarquer .
Donc, pour en revenir à nos moutons, le partage correspond aux commandes "valid users", "read only", "write list" ?
Et les permissions correspondent au "chmod" et aux "create mask" et "directory mask" ?
Le fait est que le "chmod" définit des droits sur un fichier, par exemple "chmod 755 test" donnera le droit d'écriture seulement au propriétaire sur ce fichier et qu'un "create mask = 775" sur ce même fichier "test" (dans le smb.conf) donnera un droit d'écriture aussi pour les utilisateurs du même groupe que le propriétaire dans les autres fichiers que créera ce propriétaire ?
Donc si je prends un exemple total et concret :
[test]
comment = test
path = /test
browseable = yes
read only = no
create mask = 775
directory mask = 775
chmod 755 test
Le répertoire partagé "test" sera donc tout d'abord accessible en écriture grâce au "read only = yes". Puis, seul le propriétaire du répertoire pourra écrire dedans à cause du "chmod 755 test". En revanche, s'il créé un nouveau répertoire ou même un fichier à l'intérieur de ce répertoire "test", les utilisateurs du même groupe que lui pourront écrire dessus grâce aux "create mask = 775" et "directory mask = 775". C'est bien cela ?
Mais que se passerait-il si l'on mettait dans le partage "valid users = toto"? Seul "toto" pourrait accéder à ce partage ? Cela passerait outre les "chmod" et "create/directory mask" ?
Même question pour "write list = toto" ? Seul "toto" pourrait écrire sur le partage ? Cela passerait outre les "chmod" et "create/directory mask" ?
Dans tous les cas, je vous remercie beaucoup de prêter attention à mes questions depuis le départ. C'est vraiment sympa de votre part de passer du temps pour me répondre. D'ailleurs, je suis désolé d'avoir encore certaines questions qui je pense doivent être logique mais j'ai encore du mal à assimiler certaines choses.
Marsh Posté le 17-01-2009 à 14:43:52
_ToM_343 a écrit : Le répertoire partagé "test" sera donc tout d'abord accessible en écriture grâce au "read only = yes". |
read only = no pour que le partage soit accessible en écriture, mais je pense que ce n'est qu'une faute de frappe
_ToM_343 a écrit : Puis, seul le propriétaire du répertoire pourra écrire dedans à cause du "chmod 755 test". En revanche, s'il créé un nouveau répertoire ou même un fichier à l'intérieur de ce répertoire "test", les utilisateurs du même groupe que lui pourront écrire dessus grâce aux "create mask = 775" et "directory mask = 775". C'est bien cela ? |
C'est exactement ça !!!
_ToM_343 a écrit : Mais que se passerait-il si l'on mettait dans le partage "valid users = toto"? Seul "toto" pourrait accéder à ce partage ? Cela passerait outre les "chmod" et "create/directory mask" ? |
Non, il faut voir que ça se passe en 3 étapes :
1/ l'utilisateur a-t-il le droit d'accéder au partage (là c'est Samba qui décide, selon la directive "valid users" )
2/ l'utilisateur a-t-il le droit de lire/modifier/créer un fichier/dossier au niveau de Samba (directives "write list", "read only", ..)
3/ l'utilisateur a-t-il le droit de lire/modifier/créer un fichier/dossier au niveau du système de fichiers (via les droits accordés avec la commande "chmod" )
Si l'utilisateur a tous les droits requis et qu'il crée un fichier, samba applique alors sur ce fichier les droits définis par la directive "create mask"
Mais dans tous les cas, Samba ne bypasse pas les droits du système de fichiers !!!
Marsh Posté le 17-01-2009 à 14:53:57
Ah oui, désolé pour la faute de frappe !
Je note tout ça, il me semble que c'est plus clair maintenant.
Je verrai ça lundi au taff et je reviendrai sûrement poser quelques questions si j'ai des doutes sur certaines choses.
Re-merci .
Marsh Posté le 14-01-2009 à 11:14:17
Salut all !
Je suis débutant dans la configuration de serveur sous Linux. Étant en ce moment en train de configurer Samba, je me posais quelques questions :
Pourquoi faut-il absolument créer un compte Unix pour le poste, le compte utilisateur ne suffit pas ?
Pourquoi ce compte pour le PC est terminé par un $ à la fin systématiquement ?
Faut-il obligatoirement un compte Unix et un compte Samba pour se connecter au domaine ?
Quelles différences y'a t-il entre les deux ?
En vous remerciant .
Message édité par _ToM_343 le 14-01-2009 à 17:11:53