Если можно загрузить debian пакет, этот сайт мог бы помочь создать opkg файл из него.
Если об/мин является единственным доступным форматом, Вы могли бы иметь успех, выполняющий это через посторонний объект сначала.
Необходимо искать файлы, которые являются RW всеми ИЛИ являются RW uid пользователя ИЛИ которые являются RW всеми группами, которых пользователь является членом. Но это немного более сложно, чем это. Как указано здесь Stephane Chazelas, если файл принадлежит пользователю затем ТОЛЬКО владелец количество перманента, и если файл принадлежит группе, что пользователь является членом затем только группы количество перманента.
Таким образом, мы должны проверить на "owner=RW или (не владелец и group=rw) или (не владелец и не группа и other=rw)"
Можно получить список ценурозов группы, которых пользователь является членом с id -G
. Это может использоваться для построения командной строки находки со стандартной заменой команды оболочки.
Мой исходный ответ имел остроту, но это задания слишком сложно, чтобы хотеть сделать в остроте. Вот сценарий оболочки удара, который делает задание.
#! /bin/bash
U="$1" # username to do perm search on - e.g. popo
TOPDIR="$2" # starting directory for search - e.g. /Users/Me/Desktop
# permissions to search for - defaults to "rw"
PERMS=${3:-rw}
# permission bits "style". "/"=ANY or "-"=ALL. defaults to /
#
# see find(1) and search for '-perm -mode' or '-perm /mode' for
# details on how this works.
PSTYLE=${4:-/}
# construct a find expression specifying all groups that the user
# is a member of
GIDS="$(for i in $(id -G "$U"); do echo -n " -gid $i -o "; done)"
GIDS=$(echo "$GIDS" | sed -e 's/ -o $//') # strip trailing " -o "
find "$TOPDIR" \
\( -user "$U" -perm ${PSTYLE}u=$PERMS \) \
-o \( -not -user "$U" -a \( $GIDS \) -perm ${PSTYLE}g=$PERMS \) \
-o \( -not -user "$U" -not \( $GIDS \) -perm ${PSTYLE}o=$PERMS \)
Этот скрипт должен быть запущен как корень. У других пользователей не может быть необходимых полномочий посмотреть во всех каталогах, что popo может.
Примечание: Я протестировал это в системе Linux Debian с помощью последних версий id
от GNU Coreutils и find
от GNU findutils. Реализации Mac id
и find
может отличаться, я не имею Mac в наличии в данный момент для тестирования. Если это отличается, проверьте страницы справочника Mac на id
и find
- вещи искать, который мог бы потребовать, чтобы изменение удовлетворило Mac, -G
и -u
опции для id
и -perm /
или '-перманент -' опции find
.
Это вызвано тем, что -user
опция ищет файлы, где указанный пользователь, если владелец файла и это не являются Вашим случаем.
Это похоже на самый легкий способ сделать то, что Вы хотите, должен выполнить команду при popo пользователе:
find /Users/Me/Desktop -readable
find
имеет нет -readable
опция.
– Gilles 'SO- stop being evil'
20.09.2013, 00:36
sudo find . -print0 |
sudo -u popo perl -Mfiletest=access -l -0ne '
print if -r && -w'
Посмотрите, что ответ на почти идентичный вопрос для того, почему проверка полномочий обычно не работает.
/-perm o+r -o
сразу прежде... -uid
. я обновил ответ. – cas 19.09.2013, 11:13chmod 7
на одном из Ваших файлов, и Вы теряете доступ к нему. Посмотрите, что unix.stackexchange.com/a/88591/22565 – Stéphane Chazelas 19.09.2013, 18:18007
был просто пример. И существуют все другие проблемы, упомянутые по unix.stackexchange.com/a/88591/22565, где Вы также найдете корректный способ записать этоfind
команда. – Stéphane Chazelas 19.09.2013, 19:43