не удается установить права пользователя на запись в файл в смонтированном каталоге SMB

По сути, парольная фраза, защищающая ключ SSH, полностью зависит -от клиента. Учтите, что даже ssh-keygenпозволяет сменить парольную фразу без подключения к какому-либо серверу (ssh-keygen -p -f id_rsa). Конечно, для этого нужно знать старую парольную фразу, но вы можете (попытаться )угадать ее, не намекая серверу, что делаете это.

Тем не менее, при подключении к серверу клиент SSH предлагает серверу любые имеющиеся у него ключи перед запросом парольной фразы для расшифровки ключа. Вы заметите, что если вы подключаетесь к хосту, который не принимает ваш ключ, фраза-пароль никогда не запрашивается.

$ ssh -v -v somehost
...
debug1: Offering RSA public key: /...
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 407
debug2: input_userauth_pk_ok: fp blah
debug1: key_load_private_type: incorrect passphrase supplied to decrypt private key
Enter passphrase for key '/...':

Технически,вы можете модифицировать сервер для обнаружения клиента, который предлагает ключ, но не выполняет аутентификацию с его помощью. Но это не поможет, так как любой злоумышленник может просто попытаться сначала расшифровать ключи, прежде чем пытаться аутентифицироваться. Опять же, это возможно даже с обычными утилитами :это то, что вы делаете при запуске ssh-agent.

Если вам недостаточно ключа, текущие версии OpenSSH позволяют серверу запрашивать как ключ , так и пароль. Документация дает это в качестве примера для запроса сначала ключа, затем пароля (с использованием либо «пароля», либо «клавиатурной -интерактивной» аутентификации ):

.

AuthenticationMethods publickey,password publickey,keyboard-interactive

0
24.09.2018, 22:47
1 ответ

Файловые системы Unix и файловые системы Windows различаются. Вы должны предоставить владельцу опцию uid, поскольку клиент SMB не сможет извлечь владельца из файловой системы Windows. Поскольку владельца, представленного в программах Linux, не существует, сменить владельца невозможно. Это оставляет две возможности для системных вызовов, таких как chown.

  • Они могут либо вернуть ошибку, потому что они не могут быть успешными, но это приведет к большому количеству предупреждающих сообщений или даже к программированию остановки в случае ошибки.
  • Или они могут сделать вид, что им это удалось. Многие программы работают гладко, думая, что все работает так, как ожидалось, но это также может сбивать с толку, когда вы ожидаете, что операция действительно завершится успешно.

Значит, вы не делаете ничего плохого, программа этого не поддерживает.

Вы можете использовать опции uidи gid, чтобы указать пользователя и группу для всех файлов в смонтированной файловой системе. Вы также можете использовать file_modeи dir_modeдля прав доступа к файлам и каталогам.

Редактировать

См. man mount.cifs.

Примеры:

  • Это даст всем доступ для чтения/записи. Используйте с осторожностью.

    mount -t cifs //W10/Users ~/public/ -o username=bobb,dir_mode=777,file_mode=666
    
  • Это смонтирует файловую систему как userи group

    .
    mount -t cifs //W10/Users ~/public/ -o username=bobb,uid=user,gid=group
    
1
28.01.2020, 02:42

Теги

Похожие вопросы