Для переименования каталогов требуется разрешение на запись в родительский каталог , поэтому предположим, что у вас есть
BASE
BASE/Mantenimientos
BASE/Mantenimientos/Fiscio
BASE/Mantenimientos/Logico
Каталог Mantenimientos
будет сделан rx
, а Каталоги Fiscio
и Logico
будут иметь разрешение rwx
.
например.
$ ls -ld Mantenimientos
drwxr-xr-x 4 root root 4096 Aug 30 13:04 Mantenimientos/
$ cd Mantenimientos
$ ls -Al
total 4
drwxrwxrwx 2 root root 4096 Aug 30 13:04 Fiscio/
drwxrwxrwx 2 root root 4096 Aug 30 13:04 Logico/
Таким образом, я могу писать в два каталога, но не в каталог Mantenimientos
. Это означает, что я не могу их переименовать
$ mv Fiscio changed
mv: cannot move 'Fiscio' to 'changed': Permission denied
, но я могу создавать файлы
$ echo a file > Fiscio/file1
$ echo another > Logico/file2
$
Конфигурация SELinux — это самое первое, что нужно проверить, с помощью ...
*/usr/sbin/sestatus*
или
*/usr/sbin/sestatus -v*
Если конфигурация SELinux установлена на "Enforcing", это может быть причиной проблемы "xauth".
/usr/sbin/setenforce 0
Вы можете временно установить его в "разрешающий" режим следующим образом: (чтобы исключить эту проблему как основную причину проблемы).
Затем следуйте инструкциям в руководстве по SELinux, чтобы установить правильную конфигурацию или отключить ее, если вы предпочитаете другой метод безопасности (например, отредактировав файл конфигурации /etc/selinux/config в RHEL). т.6)
У меня есть еще один ответ на вопрос, который мучил меня, прежде чем я разобрался с проблемой. Проблема заключается в ошибке в ОС Fedora и ее производных, как я позже понял. Если проблема не соответствует принятому ответу и/или вы не используете Fedora, RedHat, Korora и т. д., то это вам не поможет.
Как сказал пользователь slm, запуск strace даст вам представление о проблеме, но в этом конкретном случае ошибки вывод отличается:
$ strace xauth list
...
stat64("/home/USER/.Xauthority-c", 0xbff23280) = -1 ENOENT (No such file or directory)
open("/home/USER/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({2, 0}, 0xbff232c8) = 0
open("/home/USER/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({2, 0}, 0xbff232c8) = 0
open("/home/USER/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
...
Для ясности: это означает, что код возврата EACCES означает отказ в доступе. Это отличается от проблемы пользователя slm, где у него был код возврата EEXIST, что означает, что файл существует. Итак, для кода возврата EACCES, очевидно, первое, что вы проверяете, это :, настроены ли мои домашние разрешения, чтобы я мог писать в свой домашний каталог? Сначала вы должны убедиться, что у вас есть флаг записи в вашем домашнем каталоге для вашего собственного пользователя. Если вы это сделаете, то вы можете стать жертвой ошибки, описанной ниже.
С помощью пары поисковых запросов в Google я, наконец, смог найти человека с похожей проблемой, и это привело меня к отчету об ошибке Fedora. Для тех из вас, кому интересно об этом прочитать:https://bugzilla.redhat.com/show_bug.cgi?id=772992
Решение проблемы:
#verify you're not crazy
$ xauth list
/usr/bin/xauth: timeout in locking authority file /home/USER/.Xauthority
#use restorecon to reset it all
$ /sbin/restorecon -v -v /home/USER/.Xauthority
$ /sbin/restorecon -v -v -R /home/USER/
#log out of the remote system
$ exit
Когда вы вернетесь по SSH, на этом этапе все должно быть в порядке, и вы сможете снова успешно перенести сеанс X -.
Чтобы быть максимально полным, другие пользователи указали в отчете об ошибке, что указанное выше исправление не сработало для них -оно сработало для меня. Другой попыткой обойти проблему была (Я лично не проверял этот обходной путь):
# setsebool -P use_nfs_home_dirs 1
Другой человек что-то упоминает о GDM, о чем я ничего не знаю. Если это относится к вам, я рекомендую прочитать его сообщение в BugZilla и посмотреть, означает ли что-нибудь его комментарий для вас.
Мне два шага: