Проблема с правами доступа к общей папке Samba

Один из способов думать об этом — представить, что local var1="local 1"сохраняет текущее значение var1с обещанием, что в конце функции оно будет восстановлено, а затем устанавливает его в "local 1". С помощью этой ментальной модели вы можете думать обо всех переменных как о глобальных, а переменные восстанавливаются в конце функций.

Пример был бы лучше, если бы вместо вызова echo как внутри функции, так и снаружи вызывалась другая функция, которая вывела var.

bash$ show(){ printf "   The value of %s in %s is '%s'\n" $1 $2 ${!1} ; }
bash$ bar(){ show v1 bar_$1 ; }
bash$ foo(){ show v1 before_foo ; local v1 ; show v1 after_local ; \ 
               v1="changed"; show v1 after_change ; bar via_foo ; }
bash$ v1="global"
bash$ show v1 global_scope
   The value of v1 in global_scope is 'global'
bash$ foo
   The value of v1 in before_foo is 'global'
   The value of v1 in after_local is ''
   The value of v1 in after_change is 'changed'
   The value of v1 in bar_via_foo is 'changed'
bash$ bar direct
   The value of v1 in bar_direct is 'global'
bash$ show v1 global_scope
   The value of v1 in global_scope is 'global'

Здесь вы можете видеть, что вызов bar изнутри foo получает значение v1, которое было установлено foo.

Поиск в Интернете по словам dynamic scopeи lexical scopeможет помочь.

0
24.12.2019, 04:28
1 ответ

Этот вопрос от @Nasir Riley заставил меня задуматься.

As it is mounted via samba, do the smb permissions on the machine where the USB drive is located allow the www-data user to write to it?

Ответ: Нет.

В моем файле smb.conf я добавил пользователей www-dataи ws1к этим строкам.

www-dataразрешено разрешение на запись на веб-сервере.

ws1разрешено разрешение на запись в Windows.

[www]
comment = websites
path = /mnt/www
force user = www-data
force group = ws1
writeable = yes
browseable = yes
public = yes
create mask = 0775
directory mask = 0775
guest ok = yes
guest only = yes 
0
28.01.2020, 02:59

Теги

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