Por que minha umask continua sendo redefinida para 000?

5

Quando eu faço o login novamente, minha umask é 002 . Pelo menos por enquanto. Então, em algum momento, e não tenho certeza quando, ele reverte para 000 . Isso é muito inconveniente e agora estou constantemente vivendo com medo de eliminar arquivos e pastas com permissões estranhas em meu diretório pessoal.

A reversão para 000 pode acontecer após minutos de uso ou após dias. Algumas semanas depois que eu instalei o Ubuntu pela primeira vez, aconteceu bastante, então ele se acalmou, e apenas nos últimos dias essa questão voltou a ficar feia novamente.

Eu posso configurá-lo de volta para 002 com $ umask 002 , mas isso só funciona para o shell atual (como esperado).

Mais algumas informações:

  • O tty em ctrl-alt-f2 tem umask de 002 mesmo quando meu login f7 está em 000
  • /etc/profile diz que umask agora é tratada por pam_umask
  • /etc/login.defs tem UMASK 022 e USERGROUPS_ENAB yes

estou correndo Ubuntu 13.10 com XMonad e (oh-my-) zsh.

Caso isso seja útil, aqui está meu /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>                                    
# / was on /dev/sdb8 during installation                                                                  
UUID=96f989e0-ee94-4bff-9663-3fa479a83ad4 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sdb1 during installation                                                          
UUID=7682-B8AD  /boot/efi       vfat    defaults        0       1
# swap was on /dev/sdb7 during installation                                                               
UUID=0d7d57af-9a31-481e-9da4-1032c94f57e9 none            swap    sw              0       0

Aqui está uma versão abreviada do meu crontab em crontab -l

* * * * * cd /home/miles/code/Checkin/ && ./node_modules/.bin/coffee ./client.coffee -n attercop -h secret1.com -p 8888
* * * * * cd /home/miles/code/Checkin/ && ./node_modules/.bin/coffee ./client.coffee -n attercop -h secret2.com -p 8888

client.coffee é apenas um script que envia uma solicitação http.

E meu crontab de raiz de sudo crontab -l relatórios no crontab for root

    
por Miles 19.03.2014 / 02:14

1 resposta

2

O problema para mim foi causado por um plugin Sublime Text 3 chamado Terminal, que é usado para iniciar terminais de arquivos sublimes. Quando o Terminal lançou a primeira e única janela do gnome-terminal, ela herdou o umask de 000 do sublime.

Na esperança de que essa resposta possa ser útil para aqueles que não estão tendo o mesmo problema que eu, reiterarei algumas sugestões de como atacar esse problema, extraídas dos comentários acima:

  • Examine seus arquivos rc ( .bashrc , .zshrc ) para ver se há chamadas umask erradas.
  • Se você estiver usando bash, tente bash -x -l -i -c 'exit' 2>&1 | grep umask para encontrar uma chamada para umask a partir de seus arquivos rc.
  • Se você estiver usando zsh, tente zsh -x -l -i -c 'exit' 2>&1 | grep umask para encontrar chamadas para umask de seus arquivos rc.
  • Verifique se você está configurando um valor umask ao montar $HOME . Procure em /etc/fstab
  • Verifique se há algo estranho em execução no cron que possa alterar sua umask. crontab -l e sudo crontab -l .
  • Talvez tente usar audit para encontrar a origem de misteriosas mudanças de umask. sudo auditctl -A auditctl exit,always -S umask e procure em /var/log/kern.log
por Miles 23.03.2014 / 00:41

Tags