Woher nimmt Debian den Standard-Umask?

1959
divB

Mit einem neuen ssh-Login:

$ umask 0007 

Aber:

$ find . -maxdepth 1 -name '.*' -type f | xargs grep 007 | less $   # grep 007 /etc/profile # # grep -i umask /etc/login.defs # UMASK Default "umask" value. # UMASK is the default umask value for pam_umask and is used by # 022 is the "historical" value in Debian for UMASK UMASK 027 # Other former uses of this variable such as setting the umask when # grep -i umask /etc/pam.d/common-session session optional pam_umask.so usergroups 

WTF? Debian erfindet einen beliebigen umask ?? In / etc gibt es keine andere Quelle, die mit 007 übereinstimmt!

Das System verwendet LDAP (nscld, pam_ldap) zur Authentifizierung

Mehr Infos: Das passiert nur für einen Benutzer. Nicht für root oder einen anderen Benutzer. Sobald ich 'su' an den einen Benutzer komme, bekomme ich wieder 007.

Als root:

# strace -f -o basz.log su baduser 

Etwas setzt diesen umask, aber ich weiß nicht was:

[...] 2622 open("/etc/group", O_RDONLY|O_CLOEXEC) = 4 2622 _llseek(4, 0, [0], SEEK_CUR) = 0 2622 fstat64(4, ) = 0 2622 mmap2(NULL, 1719, PROT_READ, MAP_SHARED, 4, 0) = 0xb7786000 2622 _llseek(4, 1719, [1719], SEEK_SET) = 0 2622 fstat64(4, ) = 0 2622 munmap(0xb7786000, 1719) = 0 2622 close(4) = 0 2622 socket(PF_FILE, SOCK_STREAM, 0) = 4 2622 connect(4,, 23) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 poll([], 1, 10000) = 1 ([]) 2622 send(4, "\1\0\0\0\212\23\0\0\361\3\0\0", 12, MSG_NOSIGNAL) = 12 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 poll([], 1, 60000) = 1 ([]) 2622 read(4, "\1\0\0\0\212\23\0\0\0\0\0\0\4\0\0\0baduser\1\0\0\0*\361\3\0\0\2\0\0"..., 1024) = 57 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 gettimeofday(, NULL) = 0 2622 poll([], 1, 0) = 1 ([]) 2622 read(4, "", 1024) = 0 2622 gettimeofday(, NULL) = 0 2622 close(4) = 0 2622 umask(0777) = 027 2622 umask(07) = 0777 [...] 

Mehr Info:

  • Wenn ich in / etc / profile "umask 0027" schreibe, funktioniert es auch!
  • Wenn ich das Basisverzeichnis entferne und neu erzeuge, bleibt das Problem bestehen
2
Haben Sie eine umask in Ihrer .bashrc oder .bash_profile etc? Paul vor 9 Jahren 0
Nein, das wollte ich mit meinen Befehlen zeigen (find. -Maxdepth 1 -name '. *' - type f | xargs grep 007 liefert keine Ergebnisse, wie zu sehen ist) divB vor 9 Jahren 0
Und ich kann es auch ändern in "find ~ -maxdepth 1 -name '. *' -Type f | xargs grep umask" -> keine Ergebnisse; Ich kann auch "find / etc -name '*' -type f | xargs grep -i umask" -> keine möglichen Übereinstimmungen ausführen, insbesondere nicht 007 ... divB vor 9 Jahren 0
Ich meinte in Ihrem Heimatverzeichnis, was von keinem dieser Berichte angezeigt würde - es sei denn, Sie laufen von zu Hause aus? Die Ergebnisse legen nahe, dass Sie alles von / etc ausführen Paul vor 9 Jahren 0
Entschuldigung, das war unklar. Aber wie oben in meinem Kommentar erwähnt, habe ich es von zu Hause aus ausgeführt. Darüber hinaus ist 007 eine besonders seltsame, nicht standardmäßige umask. Wirklich wirklich seltsam, woher das kommen kann: / divB vor 9 Jahren 0
Noch ein Kommentar: Es muss benutzerbezogen sein. Für einen anderen Benutzer und Root funktioniert es. Sobald ich wieder zu meinem User "su" habe, habe ich wieder 007. Aber wie gesagt, es gibt definitiv keine Punktdatei inklusive umask. Kann LDAP etwas Seltsames tun? divB vor 9 Jahren 0
Ich habe die Tilde oben vermisst. Ich kann mir keine Möglichkeit vorstellen, wie ldap es einstellen könnte. Wahrscheinlich lohnt es sich auch, /etc/pam.d/login zu überprüfen - obwohl Ihr Fund es gefunden hätte. Paul vor 9 Jahren 0

1 Antwort auf die Frage

1
divB

Die Antwort ist:

man pam_umask usergroups If the user is not root, and the user ID is equal to the group ID, and the username is the same as primary group name, the umask group bits are set to be the same as owner bits (examples: 022 -> 002, 077 -> 007).  

Mann ...