Linux par défaut d'autorisation de fichier
Est là d'une certaine manière pour définir la valeur par défaut d'autorisation de fichier sous Linux? Qui est, la permission de fichier pour un fichier nouvellement créé (quel que soit le contexte pour lequel il a été créé
). Je sais à propos de mettre umask dans le démarrage du shell, mais qui ne fonctionne que pour shell sessions. Lorsque je transfert des fichiers d'une machine Linux à l'aide de pscp, le fichier est toujours créé avec les autorisations de 664 (rw-rw-r--). L'survenus à l'échelle de chaque saveur de Linux que j'ai utilisé. Ceci est particulièrement gênant lorsque je pscp d'un fichier à un partage de la machine Linux (comme mon fournisseur d'accès internet). Jusqu'à ce que je peux shell et chmod l'autorisation, le fichier est en fait assis là, avec un accès en lecture pour tout le monde, ce qui n'est pas exactement sûr.
Je vais vous dire que la première réponse affichée est un de programmation relative réponse. Si vous lancez les fichiers de script exécuté par bash, zsh, et tcsh, alors vous devez jeter des fichiers de script exécuté par cmd.exe, IIS, PowerShell, VBA, etc.
pourquoi ce n'est pas lié à la programmation? Il semble à l'intérieur de limites pour moi.
Il n'a pas de travail. J'ai umask 077 en différents (.bash_profile, .tcshrc, .cshrc) les fichiers de démarrage, mais il reste par défaut 664. Le problème est que je ne sais pas ce fichier de démarrage du pscp serveur utilise.
Ce shell que vous utilisez? Bash? Qu'obtenez-vous lorsque vous exécutez: "ssh vous@yourhost umask" (ou de Mastic est l'équivalent de "ssh")
OriginalL'auteur Steve Kuo | 2008-10-23
Vous devez vous connecter pour publier un commentaire.
Mettre le umask dans le non-interactive de démarrage du shell (
.bash_profile
,.zshenv
,.tcshrc
en fonction de votre shell). Alors ça va fonctionner pour les non-sessions de connexion.Lorsque vous vous connectez (avec putty), ce shell-t-elle? Ou, si vous êtes connecté, "grep votrenom /etc/passwd" et voir ce que la dernière entrée de la ligne est ("/bin/bash", par exemple.)
cela n'a pas fonctionné pour moi. Je l'ai mis dans mon .bash_profile et j'ai toujours le même problème
pouvez-vous me dire ce que shell que vous utilisez grep (votrenom /etc/passwd)? Pouvez-vous dire si une chose .bash_profile s'exécute lorsque pscp se connecte? (Peut-être mettre un "écho" dans le fichier et essayez de plink, il pourrait aider à diagnostiquer le problème.)
OriginalL'auteur Matt Curtis
Si vous souhaitez affecter l'ensemble du système, vous pouvez aussi la mettre dans /etc/profile
au moins sur ubuntu
/etc/login.defs
est utilisé pour un certain temps maintenant.OriginalL'auteur Kim Stebel