<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: sftp setting umask issue in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/sftp-setting-umask-issue/m-p/5691655#M53713</link>
    <description>&lt;P&gt;I had a slightly more complicated problem in that I had to use different umask settings depending on what user was connecting.&amp;nbsp; I wrote a shell script that reads a configuration file to find the umask value, then call the sftp systems.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/usr/local/jobs/ssh_wrapper ----------------------------------------&lt;/P&gt;&lt;P&gt;#!/bin/ksh&lt;BR /&gt;&lt;BR /&gt;CFGFILE=$(dirname $0)/$(basename $0).cfg&lt;BR /&gt;&lt;BR /&gt;LOG=$(egrep -cl '^[[:space:]]*\#\$[[:space:]LOG[[:space:]]*=[[:space:]]*1[[:space:]]*$' $CFGFILE)&lt;BR /&gt;&lt;BR /&gt;if [[ -r $CFGFILE ]]&lt;BR /&gt;then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINE=$(grep "^[[:space:]]*$USER[[:space:]]*[0-7]*" $CFGFILE | tail -n 1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [[ x$LINE != x ]]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UMASK=$(echo $LINE | awk ' {print $2}')&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [[ $LOG -gt 0 ]]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger $USER: Setting umask to $UMASK \($0 $*\)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; umask $UMASK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;fi&lt;BR /&gt;&lt;BR /&gt;if [[ $# -eq 0 ]]&lt;BR /&gt;then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec /opt/ssh/libexec/sftp-server&lt;BR /&gt;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec $*&lt;BR /&gt;fi&lt;BR /&gt;------------------------------------------------&lt;/P&gt;&lt;P&gt;The configuration file is named the same as the wrapper script, with a .cfg extension.&amp;nbsp; Here's an example:&lt;/P&gt;&lt;P&gt;------------------------------------------------&lt;/P&gt;&lt;P&gt;#$ LOG = 0&lt;BR /&gt;user1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0113&lt;BR /&gt;------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the LOG value is non-zero, the script calls logger to send messages to syslog.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The wrapper is configured in sshd_config:&lt;/P&gt;&lt;P&gt;Subsystem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sftp&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/local/jobs/ssh_wrapper&lt;/P&gt;</description>
    <pubDate>Fri, 15 Jun 2012 14:26:31 GMT</pubDate>
    <dc:creator>corydd</dc:creator>
    <dc:date>2012-06-15T14:26:31Z</dc:date>
    <item>
      <title>sftp setting umask issue</title>
      <link>https://community.hpe.com/t5/operating-system-linux/sftp-setting-umask-issue/m-p/5662189#M53680</link>
      <description>&lt;P&gt;We are running Red Hat Version 5.7 on our servers...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've set the subsystem sftp line in /etc/ssh/sshd_config.conf to set the umask for file being dropped on the server to permissions of 664&lt;BR /&gt;&lt;BR /&gt;Subsystem sftp /usr/libexec/openssh/sftp-server -u 0002&lt;BR /&gt;and restarted sshd services afterwards..&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;However when I test it and do an sftp to the server I get connection closed:&lt;BR /&gt;&lt;BR /&gt;-&amp;gt; sftp logftp0@apsclog1&lt;BR /&gt;Connecting to apsclog1...&lt;BR /&gt;Connection closed&lt;BR /&gt;[19:55:24] /home/.....&lt;BR /&gt;-&amp;gt;&lt;/P&gt;&lt;P&gt;I remove the '-u 0002' from the Subsystem line, and sftp allows logins again via sftp..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The ultimate goal is that all files that are put onto the server via sftp have '664' permissions...&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Can anyone tell me what I may be missing here ???&lt;/P&gt;&lt;!--  google_ad_section_end  --&gt;</description>
      <pubDate>Fri, 18 May 2012 16:40:18 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/sftp-setting-umask-issue/m-p/5662189#M53680</guid>
      <dc:creator>MikeL_4</dc:creator>
      <dc:date>2012-05-18T16:40:18Z</dc:date>
    </item>
    <item>
      <title>Re: sftp setting umask issue</title>
      <link>https://community.hpe.com/t5/operating-system-linux/sftp-setting-umask-issue/m-p/5691655#M53713</link>
      <description>&lt;P&gt;I had a slightly more complicated problem in that I had to use different umask settings depending on what user was connecting.&amp;nbsp; I wrote a shell script that reads a configuration file to find the umask value, then call the sftp systems.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/usr/local/jobs/ssh_wrapper ----------------------------------------&lt;/P&gt;&lt;P&gt;#!/bin/ksh&lt;BR /&gt;&lt;BR /&gt;CFGFILE=$(dirname $0)/$(basename $0).cfg&lt;BR /&gt;&lt;BR /&gt;LOG=$(egrep -cl '^[[:space:]]*\#\$[[:space:]LOG[[:space:]]*=[[:space:]]*1[[:space:]]*$' $CFGFILE)&lt;BR /&gt;&lt;BR /&gt;if [[ -r $CFGFILE ]]&lt;BR /&gt;then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINE=$(grep "^[[:space:]]*$USER[[:space:]]*[0-7]*" $CFGFILE | tail -n 1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [[ x$LINE != x ]]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UMASK=$(echo $LINE | awk ' {print $2}')&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [[ $LOG -gt 0 ]]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger $USER: Setting umask to $UMASK \($0 $*\)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; umask $UMASK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;fi&lt;BR /&gt;&lt;BR /&gt;if [[ $# -eq 0 ]]&lt;BR /&gt;then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec /opt/ssh/libexec/sftp-server&lt;BR /&gt;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec $*&lt;BR /&gt;fi&lt;BR /&gt;------------------------------------------------&lt;/P&gt;&lt;P&gt;The configuration file is named the same as the wrapper script, with a .cfg extension.&amp;nbsp; Here's an example:&lt;/P&gt;&lt;P&gt;------------------------------------------------&lt;/P&gt;&lt;P&gt;#$ LOG = 0&lt;BR /&gt;user1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0113&lt;BR /&gt;------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the LOG value is non-zero, the script calls logger to send messages to syslog.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The wrapper is configured in sshd_config:&lt;/P&gt;&lt;P&gt;Subsystem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sftp&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/local/jobs/ssh_wrapper&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jun 2012 14:26:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/sftp-setting-umask-issue/m-p/5691655#M53713</guid>
      <dc:creator>corydd</dc:creator>
      <dc:date>2012-06-15T14:26:31Z</dc:date>
    </item>
  </channel>
</rss>

