Перемещение файлов между домашними каталогами

Перемещение файлов между домашними каталогами

Доброе утро,

Я пытаюсь настроить задание cron на своей машине CentOS, которое будет передавать файл из домашнего каталога одного пользователя в каталог другого.

btiseis@mymachine [~]# mv ./myfile.csv /home/mmh/tmp

Я установил права доступа к каталогу tmp 0777, но все равно получаю следующее сообщение об ошибке:

mv: accessing '/home/mmh/tmp': Permission denied

Я предполагаю, что эта проблема связана с передачей файла между домашними каталогами.

Есть идеи?

Дэн

решение1

Домашние каталоги не являются чем-то особенным; просто пользователи называют их так. Ничто в системе не заботится о том, считается ли каталог «домашним каталогом» для пользователя.

Вам НУЖНЫ разрешения на все каталоги. Таким образом, вам нужны разрешения на запись в /home/mmh/tmp и на чтение+выполнение в /home/mmh (хотя достаточно либо чтения, либо выполнения, просто не уверен, какое из них. Но обычно чтение и выполнение либо установлены, либо сняты для каталогов), чтобы вы могли фактически добраться до /home/mmh/tmp внутри.

Вы можете обойти все это, если запустите cronjob как root; обычно не стоит расширять права доступа, если только это не является абсолютно необходимым. Это может быть проблемой в вашем случае (я предполагаю, что других пользователей нет), но плохие привычки трудно искоренить позже.

EDIT: если два пользователя "дружелюбны" (как две инкарнации вас, так что вы действительно не против, чтобы другой парень шпионил за вашими данными), вы можете добавить основную группу "целевого" пользователя в список групп "отправляющего" пользователя и использовать групповые разрешения. Во многих системах каждый пользователь создается со своей собственной частной группой.

Связанный контент