Держу пари, это связано с окружающей средой. Попробуйте выполнить команду, заключенную в su - -c user 'screen ...'
. Это настроит оболочку входа в систему для пользователя , поэтому среда должна выглядеть так же, как при входе через ssh
.
Лучше сделать это не дома, например, создать структуру папок в /
, но вот так:
Установите владельцем subfolder
пользователя, которому вы хотите предоставить права на чтение и запись.
chown user /home/the_user/folder/subfolder
chmod u+rwx /home/the_user/folder/subfolder
Установите выполнение для других на/home
the_user
и folder
и убедитесь, что для пользователя нет операций чтения и записи.
chmod +x
для каждого из них и chmod -rw
для пользователя.
Это позволит пользователю перемещаться по вышеуказанным каталогам, но не читать их и не записывать в них, позволяя ему читать и записывать в subfolder
.
Еще раз, я рекомендую не делать этого в /home
и предлагаю вам создать каталог как подпапку корня, например:
mkdir /mnt/folder
....и использовать мой ответ там вместо того, чтобы совершить ошибку и дать разрешения на чей-то домашний каталог.
Другой подход заключается в подключении папки к папке, к которой у пользователя есть доступ.
Допустим, у нас есть папка /home/the_user/folder/subfolder
, которую вы хотите показать пользователю cat
, не раскрывая ничего в вашем доме:
mkdir /home/cat/subfolder
chown cat /home/the_user/folder/subfolder
sudo mount -o bind /home/the_user/folder/subfolder /home/cat/subfolder
Должно помочь.