Вы не используете bash
как свою оболочку, а(t)csh
:
> csh
% PATH="${PATH:/blah}"
Bad : modifier in $ (/).
Если вы хотите вместо этого использовать bash
, вы, вероятно, можете запустить chsh
или попросить системного администратора изменить его для вас.
В bash
если вы сместите :
и поместите его в фигурные скобки {
}
, это будет означать, что к переменной следует применить модификатор . В csh
фигурные скобки не нужны для применения модификатора, и вам действительно потребуется добавить фигурные скобки, если вы не хотите, чтобы :
сигнализировало, что модификатор после него.
согласно @Tomasz, вы можете использовать сопоставление с пользователем
# no match rule
AuthorizedKeysFile /home/%u/.ssh/authorized_keys
match User foo
AuthorizedKeysFile /special/authorized_keys.%u
match Group git
/var/lib/%u/.ssh/authorized_keys
сначала используя более общих пользователей.
см. человек ssh_config
или человекsshd_config
(Кстати, я не смог заставить его работать на sles12 с chroot)