пʼятниця, 26 лютого 2010 р.

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

Может и не самый красивый способ, но простой

Немає коментарів:

Дописати коментар