Я создал сценарий для копирования изображения во временный каталог, преобразования его в другой формат, а затем перемещения в последний каталог. Но я не могу заставить команду chmod работать, файл копируется во временный каталог, но chmod застрял на -rw ------- (исходный chmod файла).
Если я применяю chmod 777 к исходному файлу, скопированный получит -rwx ------ вместо -rwxrwxrwx
Скопированный и исходный файлы принадлежат одному пользователю.
TS=$(date +"%Y")/$(date +"%m")/$(date +"%d")/$(date +"%Hh%Ms%S")
PATHTMP="/tmp/faxtiff"
mkdir -p $PATHTMP
chmod 777 $PATHTMP
cp $FILE $PATHTMP
chmod 777 $PATHTMP/$FILE
convert $PATHTMP/$FILE -scale '50%x100%!' $PATHTMP/fax.jpg
chmod 777 $PATHTMP/fax.jpg
mkdir -p /home/argent/faxes-recus/$TS
chmod 777 /home/argent/faxes-recus/$TS
#rm $PATHTMP/$FILE
mv $PATHTMP/*.jpg /home/argent/faxes-recus/$TS
mdpc правильный. Я не знаю, почему кто-то отклонил ваш вопрос, но ...
Если root владеет файлом, вы должны иметь возможность (если, конечно, у вас есть доступ) сделать sudo chmod...
, и это должно сработать.
Если, однако, вы больше не хотите, чтобы root владел файлом, вам нужно сделать sudo chown $USER <filename>
чтобы файл принадлежал пользователю, под которым вы вошли в систему.
Я не пробовал ваш сценарий, но попробуйте следующее, отметив две вещи:
1) Не ешьте то, чего не следует. Я не знаю контекста этого вопроса, и это может быть плохо, очень плохо или чрезвычайно плохо перерезать рассматриваемые файлы (читай: злоупотребление властью). Однако, если вы создаете этот контент и неявно (или явно) получаете разрешение на изменение этих файлов, то это не должно быть проблемой.
2) Я прокомментировал пару блюд, которые вам не нужны. Помните, вы всегда можете сделать ls -l
чтобы узнать, кому принадлежит данный файл.
TS=$(date +"%Y")/$(date +"%m")/$(date +"%d")/$(date +"%Hh%Ms%S")
PATHTMP="/tmp/faxtiff"
mkdir -p $PATHTMP
#sudo chown -R $USER $PATHTMP
chmod 777 $PATHTMP
cp $FILE $PATHTMP
sudo chown $PATHTMP/$FILE
chmod 777 $PATHTMP/$FILE
convert $PATHTMP/$FILE -scale '50%x100%!' $PATHTMP/fax.jpg
#shouldn't need to chown here if the script is being run as the logged in user.
chmod 777 $PATHTMP/fax.jpg
mkdir -p /home/argent/faxes-recus/$TS
#chown $USER /home/argent/faxes-recus/$TS
chmod 777 /home/argent/faxes-recus/$TS
#rm $PATHTMP/$FILE
mv $PATHTMP/*.jpg /home/argent/faxes-recus/$TS
Если вы НЕ являетесь владельцем файла, о котором идет речь, вы не можете chmod
операция над файлом.