AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1539530
Accepted
Petar
Petar
Asked: 2025-01-27 21:46:45 +0800 CST2025-01-27 21:46:45 +0800 CST 2025-01-27 21:46:45 +0800 CST

Usuários não root não conseguem ver meu compartilhamento samba. (vfs.provider.smbj/access-denied)

  • 772

Ubuntu Desktop 24.04LTS. Esta é a minha primeira vez postando no fórum, por favor me diga se eu errei alguma coisa :D

estou começando com o linux em geral, e consegui configurar um compartilhamento samba na minha LAN. Posso logar na conta root ("root") do meu telefone, e funciona perfeitamente. No entanto, quando criei outro usuário chamado gost (guest, id 1001), consegui acessar a pasta root e ver todas as suas subpastas, mas quando tentei entrar em /home, apareceu uma mensagem de acesso negado. Provavelmente um problema smb.conf

anexos: /etc/samba/smb.conf ; testparm output ; systemctl status smbd (log na parte inferior do status)

[global]
    workgroup = UserProductions
    netbios name = netBiosName
    guest ok = no
    browseable = yes
    read only = no
    writeable = yes
    public = yes
    valid users = root gost
    write list = root
    read list = gost

[root]
    path = /

[HDD]
    path = /home/user/Desktop/HDD       

[SSD]
    path = /home/user/Desktop/SSD
Load smb config files from smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_STANDALONE
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-01-27 14:00:45 CET; 1min 3s ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
    Process: 19351 ExecCondition=/usr/share/samba/is-configured smb (code=exited, status=0/SUCCESS)
   Main PID: 19354 (smbd)
     Status: "smbd: ready to serve connections..."

  *** info cut out for privacy ***

Jan 27 14:01:46 ********** smbd[19410]: [2025/01/27 14:01:46.314913,  0] source3/smbd/smb2_service.c:117(chdir_current_service)
Jan 27 14:01:46 ********** smbd[19410]:   chdir_current_service: vfs_ChDir(/home/user/Desktop/HDD) failed: Permission denied. Current token: uid=1001, gid=1001, 2 groups: 1001 100
networking
  • 1 1 respostas
  • 75 Views

1 respostas

  • Voted
  1. Best Answer
    Petar
    2025-01-29T18:33:33+08:002025-01-29T18:33:33+08:00

    SOLUÇÃO: este é um problema com permissões de arquivo em geral, não com o samba. Aqui está um chmodtutorial rápido para ajudar você a abrir pastas para outros usuários.

    https://help.ubuntu.com/community/FilePermissions para mais informações.

    primeiro, execute namei -mo /full/path/to/shared/files(substitua /full/path/... por, por exemplo, uma imagem em uma pasta que você está tentando acessar)

    você deve obter uma saída parecida com esta: (retirado de howtoforge .com)

    f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
    drwxr-xr-x root     root     /
    drwxr-xr-x root     root     home
    drwxr-xr-x himanshu himanshu himanshu
    drwxr-xr-x himanshu himanshu Downloads
    drwxr-xr-x himanshu himanshu HTF-review
    drwxr-xr-x himanshu himanshu Nodejs-Docker
    -rw-rw-r-- himanshu himanshu 1.png
    

    olhe para as letras à esquerda e ignore cada "d". Se todos tivessem acesso completo a uma pasta, a saída seria "rwxrwxrwx". as três primeiras letras especificam as permissões para o dono do arquivo, as próximas 3 são para o grupo e as últimas 3 são para os outros.

    rwx|rwx|rwx

    os r's são permissões de leitura, w's são permissões de escrita, x's são permissões de execução. ( NOTA: para dar permissão de leitura a uma pasta, precisamos dar permissão de execução para abri-la. A leitura por si só não funcionará).

    se as últimas 3 letras de uma pasta não tiverem r e x, outras pessoas não poderão entrar na pasta e, portanto, não poderão acessá-la pelo compartilhamento samba.

    OBSERVAÇÃO: Enquanto escrevia isso, descobri que esse método de dar acesso é primitivo. Ele funcionará, mas dará a TODOS que puderem se conectar ao seu samba / que tenham um usuário no seu computador acesso para ler essa pasta. Isso pode expor informações privadas. Tudo até este ponto é válido.

    USE ACLs EM VEZ DISSO!!! elas darão permissões somente ao usuário especificado.

    Exemplo de ACL:setfacl -m u:guestuser:rx /home/

    para adicionar essas permissões, usaremos chmod {options} filename. as opções têm 3 partes: o(s) usuário(s), a ação e a(s) permissão(ões)

    o(s) usuário(s) pode(m) ser "u" para proprietário, "g" para grupo, "o" para outros e "a" para todos. As ações são "+" para adicionar, "-" para remover e "=" para definir. as permissões ainda são r,w,x.

    se você quiser abrir toda a página inicial e suas subpastas, use

    chmod o+rx -R /home/ não recomendado, em vez disso, ajuste as permissões para cada pasta manualmente como:

    chmod o+rx /home/user
    chmod o+rx /home/user/Desktop
    chmod o+rx /home/user/Desktop/HDD
    

    vote positivamente se isso te ajudou e tenha um ótimo dia!

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve