sshnet / sshnet/SSH.NET

How do I create a directory or file with 777 permission and a specific username and group

Aperta
#973 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C#
Stelle
4.4k
Fork
993
Merge medio
9g 21h
PR unite (30g)
1

Descrizione

How do I create a directory with 777 permission and a specific username and group


...

 using (SftpClient sftp = new SftpClient(ipSftpServer, portSftpServer, userSftp, passSftp))
                        {
                            sftp.Connect();
                            CreateServerDirectoryIfItDoesntExist(destSftpPath, sftp);
                            memoryStream.Seek(0, SeekOrigin.Begin);
                            sftp.UploadFile(memoryStream, destSftpPath, delegate (ulong d)
                            {
                                if (uploadCallback != null)
                                {
                                    uploadCallback((long)d, bytesTotal);
                                }
                            });
                            // chown -R dcm4chee-arc:dcm4chee-arc .
                            //change user and group dcm4chee-arc dcm4chee-arc
                            sftp.ChangePermissions(destSftpPath, 777);
                            Console.WriteLine($"end of file copy");
                            sftp.Disconnect();
                        }

...
 private static void CreateServerDirectoryIfItDoesntExist(string serverDestinationPath, SftpClient sftpClient)
    {

        string[] directories = serverDestinationPath.Split('/');    
        Array.Resize(ref directories, directories.Length - 1);      
        for (int i = 0; i < directories.Length; i++)
        {
            if (i > 0)
            {
                string dirName = string.Join("/", directories, 0, i + 1);
               
                if (!sftpClient.Exists(dirName))
                {                
                    sftpClient.CreateDirectory(dirName);
                    // chown -R dcm4chee-arc:dcm4chee-arc .
                    //example user and group: dcm4chee-arc dcm4chee-arc
                    //How do I create a directory with 777 permission and a specific username and group
                    sftpClient.ChangePermissions(dirName, 777);
                    
                }
            }
        }
    }

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con le chiamate SftpClient.CreateDirectory, UploadFile e ChangePermissions mostrate nell'issue e consulta la documentazione dell'API di SSH.NET per verificare il supporto per la proprietà e i permessi. Il lavoro è completato quando è stato determinato se il comportamento richiesto per la proprietà di directory e file è supportato e viene fornita una risposta non ambigua sul suo utilizzo o sulle sue limitazioni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
networking
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.