Existe a possibilidade de compartilhar temporariamente um diretório por Samba ?
Com o Python 3, posso servir o diretório atual por HTTP usando:
python -m http.server
.
Eu gostaria de fazer a mesma coisa com o Samba .
net usershare
...
Existe a possibilidade de compartilhar temporariamente um diretório por Samba ?
Com o Python 3, posso servir o diretório atual por HTTP usando:
python -m http.server
.
Eu gostaria de fazer a mesma coisa com o Samba .
net usershare
...
Respostas:
Parece não haver uma maneira de criar um compartilhamento ad-hoc semelhante ao exportfs
NFS no Linux e share
no Solaris. Os motivos podem variar, mas tecnicamente você pode fazer algo como descrito na página para Executar Vários Servidores na mesma máquina e, com o costume, smb.conf
realizar o que você precisa fazer.
Também existe uma opção para criar e excluir compartilhamentos dinamicamente usando SWAT , o que exigirá alterações no smb.conf para permitir que isso aconteça, consulte as seções sobre add share command
edelete share command
Pessoalmente, se você deseja ter um compartilhamento dinâmico, você pode compartilhar seu diretório pessoal e usar compartilhamentos domésticos dinâmicos via samba discutidos em muitos lugares, incluindo fóruns do Ubuntu e lista de discussão do Samba .
Dependendo da idade do seu samba daemon e das opções de configuração usadas quando ele foi construído, você ainda pode ter a opção de definir um compartilhamento "dinâmico" no seu smb.conf, apontado para / var / dynamic /, veja abaixo, e, em seguida, basta adicionar um link simbólico aos diretórios que você deseja compartilhar temporariamente no diretório.
Esse hack requer que a opção de links largos seja definida como yes , para permitir que o samba siga os links fora da raiz dos compartilhamentos. Infelizmente, alguns anos atrás, a equipe do Samba ajustou sua configuração padrão para evitar compartilhamentos amplos, pois poderia ser explorada. Google para: Samba e "links amplos" para a história e soluções alternativas.
[dynamic]
comment = Somewhere to park dynamic shares
path = /var/dynamic
read only = Yes
inherit acls = Yes
follow symlinks = yes
wide links = yes
Um teste rápido deve verificar se o seu bem, por exemplo,
mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/ tmp_test
Vamos dizer que você deseja compartilhar rapidamente / alguma pasta para algum usuário temporariamente somente leitura.
Adicione um usuário do sistema:
useradd -r someuser
Geralmente, por padrão, a pasta é legível por outras fontes (verifique com ls -ld / somefolder), se você precisar forçá-la:
chmod -R o+r /somefolder
Adicione o usuário ao samba com uma senha como:
smbpasswd -a someuser
Edite rapidamente o smb.conf e adicione-o na parte inferior
[someshare]
path = /somefolder
read list = someuser
sair, salvar e finalmente executar
smbcontrol smbd reload-config
et voila.
Obviamente, você pode remover a seção "someshare" uma vez concluída e executar novamente o comando reload-config.
Disclaimer: eu não testei isso completamente, mas fiquei espantado com o quão simples a resposta para a pergunta poderia ser. Você pode pular algumas etapas e mergulhar diretamente na edição do smb.conf se você já possui algum usuário com acesso ao samba - exatamente o que acabei de encontrar.
net share add
comando é o que você está procurando?