Это похоже на Ваш touch
двоичный файл является корнем setuid.
Проверьте это использование:
$ ls -l `which touch`
-rwxr-xr-x 1 root root 64192 Jan 8 2012 /bin/touch
# ^
Если отмеченный столбец имеет s
вместо x
файл является действительно setuid корнем. Можно зафиксировать это путем выполнения chmod u-s `which touch`
как корень (например, через sudo
).
Однако необходимо рассмотреть проверку системы для бэкдоров и т.д. Если случайные двоичные файлы являются setuid возможностями, хороши, кто-то ворвался и заменил безопасные двоичные файлы setuid вариантами, которые содержат некоторую "дополнительную" функциональность.
Да, но вы должны обращаться к каталогу по имени, а не с помощью .
примечание. Можно использовать относительный путь, он просто должен заканчиваться чем-то кроме .
или ...
:
/tmp/test$ mv ../test ../test2
/tmp/test$ pwd
/tmp/test
/tmp/test$ pwd -P
/tmp/test2
Можно использовать абсолютный путь:
/tmp/test$ cd -P .
/tmp/test2$ mv "$PWD" "${PWD%/*}/test3"
/tmp/test2$
Аналогично, rmdir .
никогда не сработает, но rmdir "$PWD"
сработает.
И это зависит от того, как вы определяете «изменение текущего каталога».
/tmp/test$ (cd .. && mv test test2)
/tmp/test$ pwd
/tmp/test
/tmp/test$ pwd -P
/tmp/test2
порождает подпункл и изменяет текущий каталог в подставке, Но покидает вашу основную оболочку, где это было.
То же, что и в ответе @Gilles, но для краткости используется фигурная скобка :
mv../{test,test2}