Как отмечено в руководстве, по умолчанию домашние папки, созданные с помощью useradd
, копируют папку /etc/skel
, поэтому если вы измените права на подпапку, все пользователи, созданные после входа с помощью стандартного useradd, будут иметь желаемые права. То же самое для adduser. Редактирование "UMASK" в /etc/login.defs изменит права при создании домашних папок.
Если вы хотите большей безопасности пользователей, вы можете зашифровать домашние папки и поместить ключи ssh в /etc/ssh/%u
вместо /home/%u/.ssh/authorized_keys
.
Существует несколько способов использования пакетов npm через nix:
Для моих личных проектов я использую nix-shell
, а затем в оболочке я использую сценарии npm , чтобы предотвратить необходимость в глобальных пакетах npm (, как с gulp ). Процесс выглядит примерно так (и, вероятно, очень похож на пряжу):
$ nix-shell -p nodejs-8_x
[nix-shell:yourproject]$ npm install # installs npm deps to project-local node_modules
[nix-shell:yourproject]$ npm exec (...) # using scripts configured in package.json
Мне это подходит, поскольку ни один из моих пакетов не имеет бинарных зависимостей. В этом сообщении описывается создание файла default.nix для вашего проекта, поэтому вам не нужно указывать зависимости для каждого вызова оболочки nix -, но это необязательно.
Другой способ — использовать npm2nix:
node2nix -i node-packages.json # creates./default.nix
nix-shell # nix-shell will look for a default.nix, which above will have generated
Это заставит Nix управлять всеми пакетами npm в проекте.
Может быть хорошей идеей ознакомиться с оболочкой nix -, так как попытка установить пакеты узлов / любые зависимости в вашем профиле nix (через nix -env или nox )лишает цели nix, загрязняя «глобальное» пространство имен.
По какой-то причине nodePackages не находится в корневом пространстве имен и не может быть найден с помощьюnix-env -qa
используйте nix-env -qaPA nixos.nodePackages
для списка доступных пакетов.
$ nix-env -qaPA nixos.nodePackages | grep -i web
nixos.nodePackages.webdrvr node-webdrvr-2.43.0-1
nixos.nodePackages.webpack node-webpack-2.6.1
Если нужных вам пакетов нет и вы не можете создать свой собственный, попробуйте запросить их на NixOS github .