2013-01-23 14 views
6

In questo momento, fs.chown requires int values for uid and gid.Node.JS: alternativa alla stringa chown

Quindi, qual è il modo consigliato per ottenere questi valori int da un sistema simile a UNIX?

Devo leggere /etc/passwd e /etc/group direttamente?
che non sembra come il modo giusto per farlo ...

+1

La risposta per questo sta per essere operativo e persino distro-specifica. Nelle macchine che utilizzano l'area utente GNU, '/ usr/bin/getent' sarà il modo migliore per ottenere informazioni su utenti e gruppi, poiché ad esempio leggerà correttamente da fonti di autenticazione esterne. Se ti trovi mai su un BSD o su un Solaris, la risposta potrebbe essere molto diversa ... – Charles

risposta

0

ho controllato e abbiamo trovato questo: https://npmjs.org/package/getuid io non l'ho usato. caveat emptor.

Personalmente, mi piace guardare questi in un file di configurazione che l'utente fornisce :)

-Daniel

1

Probabilmente avete risolto da ora, ma per riferimento futuro: il pacchetto viene utilizzato uid-number da npm, quindi penso che si possa tranquillamente pensare che funzioni (e lo fa per me).

2

Basta chiamare chown direttamente:

var exec = require("child_process").exec; 
exec("chown user:group filename");