L'utente _www
è progettato per non avere mai una shell e molti degli attributi utente necessari per l'esecuzione di ssh mancano. Una volta effettuato l'accesso come qualsiasi altro utente amministratore, puoi facilmente aggiungere all'utente _www
per ottenere le autorizzazioni file corrette.
mac:~ me$ dscl . -read /Users/_www
AppleMetaNodeLocation: /Local/Default
GeneratedUID: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000046
NFSHomeDirectory: /Library/WebServer
Password: *
PrimaryGroupID: 70
RealName:
World Wide Web Server
RecordName: _www www
RecordType: dsRecTypeStandard:Users
UniqueID: 70
UserShell: /usr/bin/false
mac:~ me$ sudo -u _www -s
Password:
bash-3.2$ id
uid=70(_www) gid=70(_www) groups=70(_www),61(localaccounts),12(everyone)
Puoi confrontare con un utente reale per vedere gli attributi mancanti. Se vuoi hackerare, potresti provare a rendere NFSHomeDirectory scrivibile e modificare la shell, ma lascerebbe tutti i tipi di file utente in / Library / Webserver - e le tue mod personalizzate potrebbero essere cancellate da ogni aggiornamento o causare effetti indesiderati lungo la strada .
Qualsiasi motivo per cui non devi solo creare un utente amministratore di Apache con un UID inferiore a 500 in modo che non verrà mostrato nella schermata di accesso come un utente normale ?
(o semplicemente usa un utente normale per ssh in prima di usare sudo per diventare _www
)?
È molto meno lavoro e più sicuro. _www
è intenzionalmente inserito in una sandboxbox per ridurre le possibilità che la navigazione sul Web faccia brutte cose su un Mac in esecuzione.