Как создать папку, принадлежащую определенному имени пользователя и группе?

Будьте более конкретными в своем регулярном выражении:

sed '/path *= *$/ s#$#/data#' file.ini

Выражение /path *= *$/будет соответствовать любой строке с path, за которой следует =(, возможно, окруженная пробелами ), но без ничего, кроме пробелов после этого и конца строки. Фактическая замена поместит /dataв конец строки.

Это тоже сработает:

sed "s#path *= *$#& /data#" file.ini

Если вам нужно уточнить, какой раздел файла INI -вы хотите изменить, расширьте диапазон команды s:

sed '/\[homes\]/,/\[printers\]/ s#path *= *$#& /dev#' file.ini

Замена будет применена только к секции [homes].

Перенаправьте на новый файл или используйте -iсоответствующим образом с любым из приведенных выше решений.

0
13.01.2020, 12:30
1 ответ

Из соображений безопасности вам необходимо быть root (в качестве пользователя root или через sudo), чтобы изменить владельца файла или каталога. Если вы root, это просто

chown jenkins /a/b
chgrp jenkins /a/b

РЕДАКТИРОВАТЬ:

Я не пользователь Mac, но я понял, что команда на Mac будет dscl, как в:

sudo dscl. create /Groups/jenkins
sudo dscl. create /Groups/jenkins RealName "Jenkins"
sudo dscl. create /Groups/jenkins passwd "*"
sudo dscl. create /Groups/jenkins gid 1234

для группы и

dscl. -create /Users/jenkins
dscl. -create /Users/jenkins UserShell /bin/bash
dscl. -create /Users/jenkins RealName "Joe Admin" 
dscl. -create /Users/jenkins UniqueID "1234"
dscl. -create /Users/jenkins PrimaryGroupID 1234
dscl. -create /Users/jenkins NFSHomeDirectory /Users/jenkins

для пользователя.

1
28.01.2020, 02:38

Теги

Похожие вопросы