Как я даю все полномочия файлу для отдельного пользователя, это не я?

Я использую эти функции, которые получены из сценария инициализации штрейкбрехера на OS x (таким образом, кредит переходит к разработчикам штрейкбрехера). Они работают отлично, и я могу снабдить свой .bash_profile каждый раз, когда я хочу. Не спрашивайте меня, как они работают... Я просто знаю, что они делают :)

# define append_path and prepend_path to add directory paths, e.g. PATH, MANPATH
# add to end of path
append_path()
{
  if ! eval test -z "\"\${$1##*:$2:*}\"" -o -z "\"\${$1%%*:$2}\"" -o -z "\"\${$1##$2:*}\"" -o -z "\"\${$1##$2}\"" ; then
    eval "$1=\$$1:$2"
  fi
}

# add to front of path
prepend_path()
{
  if ! eval test -z "\"\${$1##*:$2:*}\"" -o -z "\"\${$1%%*:$2}\"" -o -z "\"\${$1##$2:*}\"" -o -z "\"\${$1##$2}\"" ; then
    eval "$1=$2:\$$1"
  fi
}

Я могу использовать их как так, чтобы добавить или предварительно ожидать к $PATH или $MANPATH (они будут работать с любой переменной, отформатированной как $PATH):

prepend_path PATH $macPortsDir/sbin
prepend_path MANPATH $macPortsDir/man
5
29.03.2011, 20:26
2 ответа

Необходимо найти группу, что только Вы и тот пользователь - часть, и дайте корректное разрешение группе, не мир.

Могло быть легче со списками управления доступом, при наличии.

9
27.01.2020, 20:34
  • 1
    Разве я не могу дать имя пользователя для chmod? –  Tom Brito 29.03.2011, 18:02
  • 2
    @Tom chmod изменяет биты режима файла; у них нет такой гибкости. Вы устанавливаете, читал/писал/выполнял для владельца, людей в группе владельца и всех;именно. при необходимости в чем-то больше, что необходимо изучить списки управления доступом –  Michael Mrozek♦ 29.03.2011, 18:11
  • 3
    , которые можно использовать это для выяснения, который группируется, Вы оба принадлежите: wdiff -t <(groups $USER) <(groups other_user) –  l0b0 29.03.2011, 18:26
  • 4
    Так, если мы не принадлежим общей группе, как я могу сделать нас частью той же группы? (У меня есть доступ к обоим пользователям здесь), –  Tom Brito 29.03.2011, 20:14
  • 5
    @Tom: groupadd GROUPNAME создать группу, затем usermod -a -G GROUPNAME USERNAME добавить пользователя к группе. Я также рекомендую читать страницы справочника обеих команд. –  André Paramés 30.03.2011, 03:55

Если Вы владеете файлом, setfacl -m u:otheruser:rwx filename

В противном случае или если Ваша файловая система не поддерживает расширенный acls, я боюсь, что Вам не повезло.

3
27.01.2020, 20:34
  • 1
    мне не повезло, существует нет setfacl команда. –  Tom Brito 29.03.2011, 20:05
  • 2
    @Tom: apt-get install acl или подобный. способные выставочные версии –  Faheem Mitha 29.03.2011, 20:09
  • 3
    , имя пользователя в другой машине (встроенная система) является "корнем", таким образом, я попробовал sudo setfacl -m u:root:rwx /Data но я добрался setfacl: /Data: Operation not supported –  Tom Brito 29.03.2011, 20:19
  • 4
    Файл является моим, в моем пользователе root, моего компьютера. Таким образом, это должно работать с sudo.. –  Tom Brito 29.03.2011, 20:20
  • 5
    @Tom: необходимо смонтировать раздел (разделы) с поддержкой acl. См. документы. –  Faheem Mitha 29.03.2011, 20:37

Теги

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