Primeiramente, isso é apenas um aviso. No MS Windows, o número de manipuladores de arquivos no cliente e no servidor deve ser idêntico, senão você verá a mensagem "muitos arquivos abertos" quando e. g. copiando arquivos pela rede. Versões mais recentes do Samba cuidam disso sozinhas.
No entanto, se você quiser remover esse aviso, poderá fazer isso alterando os limites de arquivos locais. É sempre útil distinguir os limites locais (usuário ou sessão) e os limites globais (em todo o sistema). Verifique seus limites globais com
cat /proc/sys/fs/file-max
As chances são boas de que seus limites globais excedam seus limites locais. Eu acho que o limite típico do GNU / Linux está na faixa de 100k, eu não olhei em muito tempo. Você pode alterar este valor temporariamente, executando
sysctl -w fs.file-max=n
ou permanentemente editando /etc/sysctl.conf
e executando sysctl -p
.
Para verificar seus limites locais, mude para o usuário em questão, e. g. samba e execute
ulimit -Hn
ulimit -Sn
Isso mostrará limites rígidos e suaves para a sessão local. O limite rígido é imposto pelo sistema, enquanto o limite flexível é imposto pela sessão local. Você pode aumentar o limite flexível local até o limite máximo global, se necessário.
Você pode alterar os limites temporariamente executando
ulimit -Hn n
ulimit -Sn m
ou você pode definir limites de usuário por meio de /etc/security/limits.conf
e você pode até especificar para quais usuários esses limites se aplicam, e. g.
samba soft nofile 16384
samba hard nofile 32768
Como sempre, as páginas do manual de ambos os arquivos e os comandos oferecem muito mais insight. Espero que ajude.