Setting the Umask when Using Capistrano
Join the DZone community and get the full member experience.Join For Free
This is one of those posts to remind me how I solved a problem last time!
I've recently been using Capistrano for deployment and other remote tasks and it's proving quite useful.
One problem I ran into was that the umask was being set to 022 when using Capistrano and 002 when I was ssh'd into the server itself.
After a bit of research, I discovered that the secret is to put the umask statement in my .bashrc file before the line that says [ -z "$PS1" ] && return as when Capistrano logs into the server, it doesn't have an interactive shell (and so $PS1isn't set.
My .bashrc now looks like this:
# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples umask 002 export PATH=~/bin:$PATH # If not running interactively, don't do anything [ -z "$PS1" ] && return
(This is on Ubuntu 12.04 LTS)
Published at DZone with permission of Trevor Parsons, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Integrating AWS With Salesforce Using Terraform
How To Manage Vulnerabilities in Modern Cloud-Native Applications
What to Pay Attention to as Automation Upends the Developer Experience
RAML vs. OAS: Which Is the Best API Specification for Your Project?