Allow ssh/sftp file up-/download, but disallow changing existing files Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Come Celebrate our 10 Year Anniversary!Host timeout during file upload/download over SFTP/SSHIs it possible to use rsync over sftp (without an ssh shell)?SFTP is working but SSH failed why?SFTP not working, but SSH isAllow SFTP but disallow SSH?Allow SFTP and process running but disallow ssh for a single userAllow SSH but disallow SFTP?Forward SFTP user to chroot subdirectory after authenticationAllow webserver user to unlink SFTP-uploaded filesSFTP permission denied but SSH works fine

Is there a service that would inform me whenever a new direct route is scheduled from a given airport?

What are 'alternative tunings' of a guitar and why would you use them? Doesn't it make it more difficult to play?

I am not a queen, who am I?

Gastric acid as a weapon

Do you forfeit tax refunds/credits if you aren't required to and don't file by April 15?

What is a Meta algorithm?

Is above average number of years spent on PhD considered a red flag in future academia or industry positions?

How can players work together to take actions that are otherwise impossible?

How to recreate this effect in Photoshop?

If a contract sometimes uses the wrong name, is it still valid?

Is there a "higher Segal conjecture"?

How do I mention the quality of my school without bragging

Bonus calculation: Am I making a mountain out of a molehill?

How discoverable are IPv6 addresses and AAAA names by potential attackers?

G-Code for resetting to 100% speed

Sorting numerically

What is the longest distance a 13th-level monk can jump while attacking on the same turn?

Output the ŋarâþ crîþ alphabet song without using (m)any letters

Is it true that "carbohydrates are of no use for the basal metabolic need"?

Why is "Consequences inflicted." not a sentence?

Proof involving the spectral radius and Jordan Canonical form

Is there a concise way to say "all of the X, one of each"?

Can a non-EU citizen traveling with me come with me through the EU passport line?

Why are there no cargo aircraft with "flying wing" design?



Allow ssh/sftp file up-/download, but disallow changing existing files



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Come Celebrate our 10 Year Anniversary!Host timeout during file upload/download over SFTP/SSHIs it possible to use rsync over sftp (without an ssh shell)?SFTP is working but SSH failed why?SFTP not working, but SSH isAllow SFTP but disallow SSH?Allow SFTP and process running but disallow ssh for a single userAllow SSH but disallow SFTP?Forward SFTP user to chroot subdirectory after authenticationAllow webserver user to unlink SFTP-uploaded filesSFTP permission denied but SSH works fine



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








2















I have a linux mint machine which provides a kind of file dump which gets provided via a nginx.



My problem is, that a single user (upload_usr) should be able to place new files/directorys inside one specific folder, but he shouldn't be allowed to replace or change any existing file.



This should work like this:



  • put a.txt -> fine

  • put a.txt -> disallow

  • cat a.txt -> fine

  • put b.txt -> fine

  • rm a.txt -> disallow

Important is, that an other user which isn't root needs to be able to r/w in this dir.



What would be the easiest way to achieve this?










share|improve this question







New contributor




Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.


























    2















    I have a linux mint machine which provides a kind of file dump which gets provided via a nginx.



    My problem is, that a single user (upload_usr) should be able to place new files/directorys inside one specific folder, but he shouldn't be allowed to replace or change any existing file.



    This should work like this:



    • put a.txt -> fine

    • put a.txt -> disallow

    • cat a.txt -> fine

    • put b.txt -> fine

    • rm a.txt -> disallow

    Important is, that an other user which isn't root needs to be able to r/w in this dir.



    What would be the easiest way to achieve this?










    share|improve this question







    New contributor




    Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      2












      2








      2


      1






      I have a linux mint machine which provides a kind of file dump which gets provided via a nginx.



      My problem is, that a single user (upload_usr) should be able to place new files/directorys inside one specific folder, but he shouldn't be allowed to replace or change any existing file.



      This should work like this:



      • put a.txt -> fine

      • put a.txt -> disallow

      • cat a.txt -> fine

      • put b.txt -> fine

      • rm a.txt -> disallow

      Important is, that an other user which isn't root needs to be able to r/w in this dir.



      What would be the easiest way to achieve this?










      share|improve this question







      New contributor




      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I have a linux mint machine which provides a kind of file dump which gets provided via a nginx.



      My problem is, that a single user (upload_usr) should be able to place new files/directorys inside one specific folder, but he shouldn't be allowed to replace or change any existing file.



      This should work like this:



      • put a.txt -> fine

      • put a.txt -> disallow

      • cat a.txt -> fine

      • put b.txt -> fine

      • rm a.txt -> disallow

      Important is, that an other user which isn't root needs to be able to r/w in this dir.



      What would be the easiest way to achieve this?







      ssh permissions sftp linuxmint






      share|improve this question







      New contributor




      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Apr 10 at 15:15









      SnapstromegonSnapstromegon

      1132




      1132




      New contributor




      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Snapstromegon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          1














          (Assuming openssh with sftp-server.)



          If you allow SSH then this is nearly impossible. However, if you only allow SFTP:




          should be able to place new files/directorys inside one specific
          folder




          Use ChrootDirectory



          For the other requirements -P blacklisted_requests and -u umask should be sufficient. (You can see the request types by running /usr/lib/openssh/sftp-server -Q requests.)




          put a.txt -> fine




          allow write (allowed by default)




          put a.txt -> disallow




          Run the sftp-server with -u 0222 and disallow and setstat fsetstat.




          cat a.txt -> fine




          allow read (allowed by default)




          put b.txt -> fine




          allow write (allowed by default)




          rm a.txt -> disallow




          disallow remove (and rmdir?)



          TLDR Limit users with ChrootDirectory and run sftp-server with -u 0222 -P remove,rmdir,setstat,fsetstat






          share|improve this answer























          • Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

            – JucaPirama
            Apr 10 at 16:49











          • Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

            – Mark Wagner
            Apr 10 at 17:01











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Snapstromegon is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f962450%2fallow-ssh-sftp-file-up-download-but-disallow-changing-existing-files%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          (Assuming openssh with sftp-server.)



          If you allow SSH then this is nearly impossible. However, if you only allow SFTP:




          should be able to place new files/directorys inside one specific
          folder




          Use ChrootDirectory



          For the other requirements -P blacklisted_requests and -u umask should be sufficient. (You can see the request types by running /usr/lib/openssh/sftp-server -Q requests.)




          put a.txt -> fine




          allow write (allowed by default)




          put a.txt -> disallow




          Run the sftp-server with -u 0222 and disallow and setstat fsetstat.




          cat a.txt -> fine




          allow read (allowed by default)




          put b.txt -> fine




          allow write (allowed by default)




          rm a.txt -> disallow




          disallow remove (and rmdir?)



          TLDR Limit users with ChrootDirectory and run sftp-server with -u 0222 -P remove,rmdir,setstat,fsetstat






          share|improve this answer























          • Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

            – JucaPirama
            Apr 10 at 16:49











          • Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

            – Mark Wagner
            Apr 10 at 17:01















          1














          (Assuming openssh with sftp-server.)



          If you allow SSH then this is nearly impossible. However, if you only allow SFTP:




          should be able to place new files/directorys inside one specific
          folder




          Use ChrootDirectory



          For the other requirements -P blacklisted_requests and -u umask should be sufficient. (You can see the request types by running /usr/lib/openssh/sftp-server -Q requests.)




          put a.txt -> fine




          allow write (allowed by default)




          put a.txt -> disallow




          Run the sftp-server with -u 0222 and disallow and setstat fsetstat.




          cat a.txt -> fine




          allow read (allowed by default)




          put b.txt -> fine




          allow write (allowed by default)




          rm a.txt -> disallow




          disallow remove (and rmdir?)



          TLDR Limit users with ChrootDirectory and run sftp-server with -u 0222 -P remove,rmdir,setstat,fsetstat






          share|improve this answer























          • Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

            – JucaPirama
            Apr 10 at 16:49











          • Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

            – Mark Wagner
            Apr 10 at 17:01













          1












          1








          1







          (Assuming openssh with sftp-server.)



          If you allow SSH then this is nearly impossible. However, if you only allow SFTP:




          should be able to place new files/directorys inside one specific
          folder




          Use ChrootDirectory



          For the other requirements -P blacklisted_requests and -u umask should be sufficient. (You can see the request types by running /usr/lib/openssh/sftp-server -Q requests.)




          put a.txt -> fine




          allow write (allowed by default)




          put a.txt -> disallow




          Run the sftp-server with -u 0222 and disallow and setstat fsetstat.




          cat a.txt -> fine




          allow read (allowed by default)




          put b.txt -> fine




          allow write (allowed by default)




          rm a.txt -> disallow




          disallow remove (and rmdir?)



          TLDR Limit users with ChrootDirectory and run sftp-server with -u 0222 -P remove,rmdir,setstat,fsetstat






          share|improve this answer













          (Assuming openssh with sftp-server.)



          If you allow SSH then this is nearly impossible. However, if you only allow SFTP:




          should be able to place new files/directorys inside one specific
          folder




          Use ChrootDirectory



          For the other requirements -P blacklisted_requests and -u umask should be sufficient. (You can see the request types by running /usr/lib/openssh/sftp-server -Q requests.)




          put a.txt -> fine




          allow write (allowed by default)




          put a.txt -> disallow




          Run the sftp-server with -u 0222 and disallow and setstat fsetstat.




          cat a.txt -> fine




          allow read (allowed by default)




          put b.txt -> fine




          allow write (allowed by default)




          rm a.txt -> disallow




          disallow remove (and rmdir?)



          TLDR Limit users with ChrootDirectory and run sftp-server with -u 0222 -P remove,rmdir,setstat,fsetstat







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Apr 10 at 16:30









          Mark WagnerMark Wagner

          15.3k22246




          15.3k22246












          • Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

            – JucaPirama
            Apr 10 at 16:49











          • Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

            – Mark Wagner
            Apr 10 at 17:01

















          • Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

            – JucaPirama
            Apr 10 at 16:49











          • Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

            – Mark Wagner
            Apr 10 at 17:01
















          Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

          – JucaPirama
          Apr 10 at 16:49





          Maybe he can mix your solution with Match Group and ForceCommand, to force users in group to use SFTP, while keeping ssh enabled.

          – JucaPirama
          Apr 10 at 16:49













          Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

          – Mark Wagner
          Apr 10 at 17:01





          Yes, something like ForceCommand internal-sftp would disable interactive SSH sessions.

          – Mark Wagner
          Apr 10 at 17:01










          Snapstromegon is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Snapstromegon is a new contributor. Be nice, and check out our Code of Conduct.












          Snapstromegon is a new contributor. Be nice, and check out our Code of Conduct.











          Snapstromegon is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f962450%2fallow-ssh-sftp-file-up-download-but-disallow-changing-existing-files%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company