Você não pode copiar o arquivo porque o smbclient / smbget não verifica o tamanho do arquivo depois que ele é aberto. Não tem nada a ver com permissões.
Você deve verificar como isso é feito no dolphin (gerenciador de arquivos kde) porque ele pode copiar arquivos remotos do proc, mesmo que eles reportem tamanho zero). Você pode obter o código-fonte através do git clone git: //anongit.kde.org/kde-baseapps, mas não tenho certeza se o manuseio do smb está incluído lá.
Eu não sei o que você quer fazer, mas talvez você possa escrever um script simples no servidor que copie o conteúdo / proc / cpuinfo para um arquivo 'normal' e obter este arquivo via smb.
Se você quiser apenas obter o conteúdo do arquivo / proc em outro computador e ele pode ser outra coisa (não o samba), você pode tentar usar, por exemplo, scripts cgi.
Exemplo de script que eu escrevi uma vez e mostra o uso atual da CPU:
#!/bin/bash
echo Content-type: text/plain
echo
PREV_TOTAL=0
PREV_IDLE=0
CPU=('cat /proc/stat | grep '^cpu '') # Get the total CPU statistics.
unset CPU[0] # Discard the "cpu" prefix.
PREV_IDLE=${CPU[4]} # Get the idle CPU time.
PREV_TOTAL=('cat /proc/stat | grep '^cpu ' | awk '{ sum = $2 + $3 + $4 } END { print sum }'')
# Calculate the CPU usage since we last checked.
sleep 1
CPU=('cat /proc/stat | grep '^cpu '') # Get the total CPU statistics.
unset CPU[0] # Discard the "cpu" prefix.
IDLE=${CPU[4]} # Get the idle CPU time.
TOTAL=('cat /proc/stat | grep '^cpu ' | awk '{ sum = $2 + $3 + $4 } END { print sum }'')
let "DIFF_IDLE=$IDLE-$PREV_IDLE"
let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
let "DIFF_USAGE=(1000*$DIFF_TOTAL/($DIFF_IDLE+$DIFF_TOTAL))/10"
echo -en "\rCPU:$DIFF_USAGE%\nTOTAL:$DIFF_TOTAL\nIDLE:$DIFF_IDLE "
# Remember the total and idle CPU times for the next check.
PREV_TOTAL="$TOTAL"
PREV_IDLE="$IDLE"
Saída na página da web:
CPU:100%
TOTAL:101
IDLE:0