Configuration d'Ubuntu pour partager un dossier avec un accès en lecture seule pour les invités et l'écriture pour les utilisateurs authentifiés

0

Je configure un serveur de fichiers au travail. C'est un serveur Ubuntu sur lequel j'ai monté et partagé un disque dur. c.-à-d. via "Partage réseau local" - Samba sous le capot.

Cela fonctionne bien. Les utilisateurs peuvent accéder à la machine à partir de Windows. Il n'est pas nécessaire de fournir des informations d'identification (avant que les informations d'identification ne soient activées et que les gens ne soient pas mécontents)

Mais maintenant, je dois pouvoir télécharger des fichiers sur le serveur. c'est-à-dire que j'ai besoin d'autorisations en écriture. Mais je ne veux pas que tous les utilisateurs puissent écrire.

Est-il possible de configurer le partage afin que les invités puissent le parcourir et le lire (sans informations d'identification), mais permettre aux autres utilisateurs de se connecter et d'écrire sur le disque?

Je suis tombé sur ce post

https://serverfault.com/questions/354791/samba-share-with-guest-access-and-authenticated-users-for-write-access

ce qui semble suggérer que c'est. Mais dans mon fichier smb.confg, je ne vois pas le dossier que je partage.

Je ne comprends pas non plus complètement la suggestion. Certains concepts me sont perdus depuis que je suis un bébé de l'assurance-chômage.

Clarification:

Du point de vue des utilisateurs Windows, je cherche à

a) Accordez un accès invité en lecture seule pour que tout le monde puisse télécharger des fichiers sans informations d'identification. b) Autorise toujours l'autorisation (pour 1/2 utilisateur générique) à télécharger des fichiers.

La raison pour laquelle j'ai besoin de cela est que je veux stocker des symboles pdb sur le serveur et utiliser "symstore add" pour les télécharger à partir d'une machine Windows.

Shane Gannon
la source

Réponses:

0

Si ce que vous dites est les autorisations requises sont: utilisateur ??? , groupe (digne de confiance) rwx, supplémentaire (nommée) r, aucune publique. La seule façon de simuler ces autorisations supplémentaires est de faire en sorte que le groupe de fichiers soit lu, sans aucun utilisateur public. Créez ensuite un travail cron fréquent qui copiera intelligemment les utilisateurs ~ / .samba_upload. Il s’agira alors de contourner les autorisations.

rhubarbdog
la source
Je devrais clarifier - du point de vue des utilisateurs Windows, je chercherai a) Accorder un accès invité en lecture seule afin que tout le monde puisse télécharger des fichiers sans informations d'identification b) Toujours prendre en charge l'autorisation (pour 1/2 utilisateur générique) qui peut télécharger des fichiers.
Shane Gannon
PS: Je suis nouveau sur Ubuntu et je crains que certains des concepts que vous avez mentionnés ne me viennent à l’esprit. Je comprends les autorisations de fichiers / dossiers (c.-à-d. Contrôlées avec chmod). Mais n'entendez pas ce que vous voulez dire par "utilisateur ???, groupe (approuvé) rwx, supplémentaire (nommé) r, public aucun".
Shane Gannon
0

À droite, faisons un pas en arrière. Chaque fichier a un propriétaire (utilisateur) et est dans un groupe. Les autorisations de fichiers se répartissent en 3 catégories utilisateur, groupe et autres. Les utilisateurs peuvent être ajoutés à des groupes. Les pemisions de fichier peuvent être en lecture, écriture ou eXecute. La commande apropos liste tous les manuels pertinents, la commande man suivie d'une commande affiche la page de commandes man (ual). Les commandes try chown et chmod ont un intérêt particulier, tout comme la propriété et les permisions du répertoire sur lequel votre disque samba est monté. Je pense que votre solution consiste à mettre les fichiers dans un groupe de fichiers et d'autres, à placer des utilisateurs de confiance dans le groupe de fichiers.

rhubarbdog
la source
Ah - comprends d'où tu viens. Le groupe d'utilisateurs obtient en lecture-écriture tandis que le groupe autre obtient en lecture seule. c'est-à-dire drwxrwxr--. Mais pour le moment, les autorisations sont drwxrwxrwx. c'est-à-dire son accès ouvert. Mais les utilisateurs invités ne peuvent toujours pas écrire (c'est ce que je veux). Donc, je ne comprends pas comment les autorisations au niveau du fichier aideront? c'est à dire depuis qu'il semble qu'ils ne sont pas pertinents.
Shane Gannon
Mais votre suggestion semble m'avoir aidé à trouver une solution. En vérifiant ma réponse, j'ai remarqué que certaines des autorisations étaient incorrectes. Une fois que je les ai corrigés et redémarré, ma propre solution a fonctionné.
Shane Gannon
0

Je réfléchissais et trouvais une solution simple. Le dossier que je partage est

/ mnt / primaire / primaire / public

Sur Public, j'ai cliqué avec le bouton droit de la souris et choisi Partage de réseau local. Je règle les options suivantes

  1. Partager ce dossier
  2. Accès invité (pour les personnes sans compte utilisateur)

Je me suis déplacé d'un répertoire à

/ mnt / primaire / primaire

Sur le primaire, j'ai cliqué avec le bouton droit de la souris et choisi Partage de réseau local. Je règle les options suivantes

  1. Partager ce dossier
  2. Autoriser d'autres personnes à créer et à supprimer des fichiers dans ce dossier

J'ai également dû définir un utilisateur Samba (sinon, il n'y avait aucune information d'identification à utiliser pour les personnes accédant au partage principal). Je l'ai fait avec

sudo smbpasswd -a USERNAME

Où USERNAME est le nom de l'utilisateur disposant d'autorisations en écriture. Cette commande m'a demandé d'attribuer un mot de passe avec USERNAME également.

Maintenant, lorsque je navigue sur le partage à partir de Windows, je vois 2 dossiers.

  • primaire
  • Publique

Les utilisateurs qui consultent Public ont un accès en lecture seule et n'ont pas besoin d'informations d'identification.

Les utilisateurs qui naviguent dans primaire obtiennent une invite de nom d'utilisateur / mot de passe où USERNAME / password fonctionne Ceux qui se connectent ont un accès en écriture.

Avertissement: cela ne fonctionne que si les autorisations de fichier correctes sont définies dans / mnt / primary / primary. Pour plus de simplicité, je choisis d’accorder des autorisations complètes à tous les utilisateurs. c'est à dire

chmod 777 -R /mnt/primary/primary

Mais évidemment, c’est une mauvaise idée si vous êtes préoccupé par la sécurité sur la machine Ubuntu.

Shane Gannon
la source