Salvar imagem com ImageIO em servidor Linux

Blz galera?

Estou com um problema ao salvar uma imagem redimensionada/recortada em um servidor linux.
Minha máquina de desenvolvimento é Windows 7, nela funciona tudo certo, porém quando faço o deploy da aplicação no servidor não consigo salvar a imagem.

Utilizo o código (Frankenstein) abaixo, obtido depois de juntar várias sugestões de diversos blogs e tutoriais:

public void redimensionarImagem(String path, String ext){
		
		BufferedImage imagem;
		Image imagemRed;
		Integer width = 0;
		Integer height = 0;
		String orientacao = "";
		
		try {
			//Lê a imagem no diretório temporário
			imagem = ImageIO.read(new File(path));
			
			//Obtém as medidas da imagem
			height = imagem.getHeight();
			width = imagem.getWidth();
			
			//Verifica a orientação da imagem e a redimensiona
			if (width > height) {
				orientacao = "P";
				imagemRed = imagem.getScaledInstance(256, 192, 100);
			} else {
				orientacao = "R";
				imagemRed = imagem.getScaledInstance(192, 256, 100);
			}
			
			//Seta a variável com a orientação da figura a ser utilizada na página
			this.setOrientacaoFoto(orientacao);
			
			//Gera um novo inputstream da imagem redimensionada (convertendo a imagem em byte)
			InputStream in = new ByteArrayInputStream(this.imageToByte(imagemRed, ext));
			//Gera uma nova bufferedimage através da imagem convertida em byte
			imagem = ImageIO.read(in);
			
			//Grava a imagem redimensionada
			ImageIO.write(imagem, ext, new File(path));
			
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

Lembrando que para o windows eu utilizo um caminho de diretório e pra linux utilizo outro.
As pastas no linux estão com permissão de escrita, tenho uma função que faz o upload da foto para o diretório temporário e que funciona.
Não sei se tenho que configurar mais alguma coisa no linux.

Valeu.

Dei bobeira, a função acima funciona, é nesta que está o problema, após redimensionar a foto com o código anterior eu faço um recorte com o <p:imageCropper> do PrimeFaces 3.5 e salvo a imagem no diretório definitivo:

	public String recortarImagem(){
		
		if(this.getImagemRecortada() == null)  
	        return null;  
	    
	    String arquivoFoto = CAMINHOFOTOSFUNC + this.getArquivoFotoTemp();
	    
	    FileImageOutputStream imageOutput;  
	    
	    try {
	    	
	        imageOutput = new FileImageOutputStream(new File(arquivoFoto));  
	        imageOutput.write(this.getImagemRecortada().getBytes(), 0, this.getImagemRecortada().getBytes().length);  
	        imageOutput.close();
	        
	        this.setArquivoFoto(this.getArquivoFotoTemp());
	        
	    } catch (FileNotFoundException e) {  
	        e.printStackTrace();  
	    } catch (IOException e) {  
	        e.printStackTrace();  
	    }  
	    
	    return null;
		
	}

E lembrando, no windows está funcionando perfeitamente.

Valeu.