GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare umask per un utente di sistema?

Ci sono tre modi normali per impostare l'umask di un utente.

  1. Imposta UMASK in /etc/login.defs
  2. Aggiungi pam_umask.so alla tua configurazione PAM in /etc/pam.d
  3. Impostalo nei file di avvio della shell, ad es. /etc/profile

Non c'è alcuna differenza tra gli utenti del sistema e gli utenti normali a questo proposito.

Ma suppongo che tu stia cercando di avviare un demone con un umask personalizzato?

Il problema è:tutte le opzioni di cui sopra si verificano quando un utente accede. Se stai eseguendo un demone, non accede mai. Viene avviato da init, quindi viene eseguito come root o chiama setuid da eseguire come utente di sistema specificato.

Le tue opzioni principali sono:

  1. inserisci umask nel tuo script init (fai un grep umask /etc/init.d/* per un esempio)
  2. configura init per avviare il programma con un umask personalizzato (systemd.exec upstart umask)
  3. se si utilizza start-stop-daemon , passa l'opzione umask
  4. modificare il programma stesso per chiamare la funzione umask o la chiamata di sistema

Gli utenti di sistema differiscono da quelli "normali" in tre modi:scadenza della password, home directory (gli utenti di sistema non ne hanno una) e UID (gli utenti di sistema sono solitamente al di sotto di una soglia arbitraria).

Nel caso generale, sei quasi del tutto sfortunato. Puoi usare PAM per impostare l'umask, ma PAM seleziona i comportamenti in base a cose diverse da queste tre differenze.

In altre parole, non è possibile fare in modo che PAM distingua tra utenti "di sistema" e "non di sistema". Questo ti lascia con due opzioni:

  • O usi PAM per impostare l'umask per tutti (ad esempio controlla in /etc/login.defs ), quindi imposta esplicitamente l'umask per gli utenti non di sistema in /etc/bash.bashrc (o simili);

  • Oppure scrivi il tuo modulo PAM per farlo. Penso che questo sarebbe apprezzato da molte persone, poiché l'impostazione di umask è una richiesta comune.

Per favore, prendi questa risposta con un generoso pizzico di sale. Questo tipo di richiesta è piuttosto comune e non sarei sorpreso se ora esistesse un modo migliore/appropriato.


Linux
  1. Come configurare SPF per l'autenticazione e-mail aggiunta

  2. Come impostare i valori predefiniti del desktop per i nuovi utenti??

  3. Impostare Umask per il filesystem montato su Sshfs?

  4. Come impostare le variabili di percorso per tutti gli utenti su un server?

  5. CentOS / RHEL:come impostare la jail chroot per vsftp solo per utenti specifici

Come impostare l'autenticazione a due fattori per cPanel

Come configurare l'avvio PXE per l'hardware UEFI

Come configurare Tls per Postfix su Ubuntu?

Come configurare un Killswitch Linux per VPN

Come impostare il percorso per i comandi sudo

Come impostare l'umask predefinito per il servlet webdav di Tomcat?