Я исправил это после переустановки coreutils,
sudo pacman -S coreutils
позвольте мне начать с того, что я скажу: читайте вhttps://www.samba.org/samba/docs/
, потому что есть несколько ручек, о которых нужно знать Samba Server
в Linux, и, вероятно, существует более одного способа выполнить то, о чем вы просите.
Но в двух словах
samba server
в linux, эта минимальная функциональность samba, которая будет описана должна работать на любом linux /etc/samba/smb.conf
на как минимум следующее # smb.conf file sample
[global]
security = user
passdb backend = tdbsam
[scratch]
path = /scratch
read only = No
guest ok = No
security
и passdb
, но это установит базовую функциональность, означающую, что локальная учетная запись linux должна существовать и действовать с этим именем учетной записи [ ragnar и harald ] который также должен быть именем учетной записи с любого подключаемого компьютера. И если пароли учетных записей совпадают между подключаемым компьютером и паролем samba в системе Linux, на которой размещен сервер samba, тогда соединение предоставляется smbpasswd -a ragnar
smbpasswd -a harald
passdb backend
... потому что мы используем пароли samba, которые отличаются от пароля локальной учетной записи в /etc/passwd
. Прочтите документы samba для подробного объяснения, но это установит фундаментальную безопасность доступа на основе разрешений файлов/папок linux для заданных имен учетных записей, пока вы не сделаете guest ok = yes
, чтобы разрешить любому доступ к данному общему ресурсу, указанному вsmb.conf
scratch
в качестве примера в моем образце smb.conf harald
существует на сервере linux samba и в клиентской системе, и сервер linux smbpasswd
для harald
соответствует паролю учетной записи harald
на подключающемся клиенте,тогда все, что относится к harald
в системе linux, будет действовать через соединение samba, и вы сможете прибегнуть к базовым разрешениям на файлы/папки на основе пользователей и групп, определенных на сервере linux [samba]. always thought you set all the permissions in SMB and just found out you do it in Windows
не обязательно, вы можете установить их со стороны клиента (с вашего компьютера с Windows ), но права доступа к файлам/папкам получены от сервера samba... так что это в первую очередь разрешения файловой системы linux, которые затем считываются сервером samba, а затем передаются по протоколуSMB
(блока сообщений сервера )тому, кем является клиент, который должен понимать SMB
. Когда есть несоответствие (, т. е. гость ok == yes, а учетная запись Windows не существует на сервере linux [samba], вы заметите, что разрешения установлены на nobody
при просмотре в системе linux.
Map to Guest
obey pam restrictions
no
, потому что это выходит за рамки вашего текущего уровня понимания samba
; и PAM
совершенно другое животное. nologin
для учетных записей linux по-прежнему разрешает доступ к samba smb для этих учетных записей, поэтому я предлагаю вам сначала сделать harald
и ragnar
полностью активными учетными записями linux; и как только все заработает, измените эти учетные записи на nologin
(, чтобы предотвратить ssh ). Вот почему я говорю pam=no
, потому что вы говорите, что соблюдаете ограничения pam, тогда создание учетной записи nologin, вероятно, предотвратит доступ к samba .