Никогда не замечал что если распаковывать архив при помощи такой команды:
а в архиве uid и gid отличны от пользователя, чья папка, и в архиве файлы foo/bar, то на /home/user/ поставятся права, которые были не файлы в архиве. Вот такое вот витиеватое предложение получилось :) .
Это еще куда ни шло когда делаешь вручную. А если скриптом? И имя пользователя не известно??Да еще через rexec или plink??? Грустно. Самое печальное, что после перезапуска компьютера или X-ов пользователь не сможет залогиниться, так как нет доступа к домашнему каталогу.
И вспомнилось мне про программу id, которая выводит информацию о пользователе. Если предположить, что имя пользователя соответствует имени каталога, то можно сделать приблизительно так:
#tar xfz pack.tar.gz -C /home/user/foo/bar
а в архиве uid и gid отличны от пользователя, чья папка, и в архиве файлы foo/bar, то на /home/user/ поставятся права, которые были не файлы в архиве. Вот такое вот витиеватое предложение получилось :) .
Это еще куда ни шло когда делаешь вручную. А если скриптом? И имя пользователя не известно??Да еще через rexec или plink??? Грустно. Самое печальное, что после перезапуска компьютера или X-ов пользователь не сможет залогиниться, так как нет доступа к домашнему каталогу.
И вспомнилось мне про программу id, которая выводит информацию о пользователе. Если предположить, что имя пользователя соответствует имени каталога, то можно сделать приблизительно так:
for i in `ls /home`
do
U_ID=`id -u $i`
G_ID=`id -g $i`
chown -R $U_ID:$G_ID /home/$i
done
Может и не самый красивый способ, но простой
Немає коментарів:
Дописати коментар