Обратите внимание, что выполнение любого монтирования в /tmp
опасно, потому что какая-то задача очистки может внезапно решить выполнить свою работу в /tmp
и не заботиться о точках монтирования, тем самым стирая старые файлы, на самом деле не принадлежащие /tmp
. Тем не менее, я буду использовать примеры /tmp
из OP.
способ 1:
Если у вас есть полный контроль над средой NFS, просто добавьте параметр no_root_squash
в параметры экспорта :, это предотвратит сопоставление клиента root-пользователя как никого на сервере и потерю прав.
метод2:
Кроме того, вот относительно простое решение, которое вы ищете, в том же духе, что и доступ к неподвижному -в -использовать удаленный файл :с помощью /proc
Для простоты требуется два терминала:
пользовательский терминал:
vagrant@ubuntu-xenial:/tmp$ cd /tmp/nfs_mount/source/path/is/here/
vagrant@ubuntu-xenial:/tmp/nfs_mount/source/path/is/here$ echo $$
12345
корневой терминал :root может получить ссылку на нужный каталог, все еще нечитаемый, но монтируемый:
# ls -l /proc/12345/cwd
lrwxrwxrwx. 1 vagrant vagrant 0 Mar 21 01:18 /proc/12345/cwd -> /tmp/nfs_mount/source/path/is/here
# ls -l /proc/12345/cwd/
ls: cannot open directory '/proc/12345/cwd/': Permission denied
# mount --bind /proc/12345/cwd /tmp/bindtarget
# ls /tmp/bindtarget
ls: cannot open directory '/tmp/bindtarget': Permission denied
Вот именно.
Заменить системный bashrc, экспортировав $PS1 , чтобы пользователь мог игнорировать подсказку.
Для его распространения используйте либо scp, либо clusterssh, а если вы настроили ключ rsa, вам даже не нужно вводить пароль более одного раза для scp:
eval `ssh-agent`
ssh-add
for h in `cat ~/hostlist`; do
scp ~/newbashrc ${h}:/etc/bashrc
done
eval `ssh-agent -k`
Спасибоhttps://serverfault.com/questions/218629/most-effective-way-to-change-linux-command-prompt-for-all-usersза решение.