ubuntu20.04 安装 samba 并配置 win10映射

1、安装samba软件并配置开机自启动

apt-get install samba samba-common
systemctl enable smbd

2、创建sumba主文件夹

mkdir /opt/data/samba
chmod -R 777 /opt/data/samba

3、添加用户,必须先有对应的系统用户,才能添加到samba用户,用useradd添加的用户默认无法从shell登录系统,不会创建用户目录,比较安全。

useradd -s /sbin/nologin -r public
smbpasswd -a public

4、添加组,此处组名叫samba,经测试,用户新建文件权限不管怎么设置other用户都没有写权限(你设置create mode=0777,结果新创建文件就是0775),很奇怪的0755,然后其它用户上传的文件可以删除,不能修改。半天都没解决,心累,无奈,用组用户把吧。   我的需求也简单,管理员全部权限,其它所有用户public目录有全部权限,用户共享和交换文件,share文件夹管理员可写,其它用户只读。

groupadd samba

# 把public用户添加到samba组
usermod -a -G samba public

# 把public用户所属组改为samba
usermod -g samba public

4、create mode=0777,结果新创建文件就是0775,然后其它用户上传的文件可以删除,不能修改。最后发现,write list 里的用户不能修改别人上传的文件,但admin users可以,

经过各种尝试,配置说明如下:

# 所有做过 smbpasswd 的用户都可以登录,可以读取,不能修改、删除、改名(即便是自己创建的文件[有权限的文件]也不行)
public = no
browseable=yes
# 所有做过 smbpasswd 的用户都可以登录,可以读取;user1用户可以添加、改名、删除所有文件,但修改其它用户的文件内容无法保存
public = no
browseable=yes
write list = user1
#所有做过 smbpasswd 的用户都可以登录,可以读取;user1用户也是只读权限,admin users 配置不起作用
public = no
browseable=yes
admin users = user1
# 只有user2可以登录,可以读取全部文件,不能修改、删除、改名(即便是自己创建的文件也不行)
public = no
browseable=yes
valid users = user2
# 所有做过 smbpasswd 的用户都可以登录,可以读取,可以添加、改名、删除所有文件,但修改其它用户的文件内容无法保存。writable完全覆盖browseable
public = no
browseable=yes
writable=yes

# 等同于
public = no
writable=yes

# 等同于
public = no
writable=yes
browseable=no

# 等同于
public = no
browseable=no
writable=yes
# 只有user2可以登录,可以读取,可以添加、改名、删除所有文件,但修改其它用户的文件内容无法保存
public = no
writable=yes
valid users = user2
# writable与write list一起,write list不起作用
public = no writable=yes write list = user1

# 等同于
public = no
writable=yes
# user1拥有全部权限,其它用户没有修改非所属自己的文件的权限(修改万没法保存),其它权限全有
public = no
writable=yes
admin users = user1

----------------------------

browseable = 可读
writable = 可写(但不能修改其它用户的文件,深层次原因是create mode/mask 配置777,结果上传的文件是775,chmod改为777后可以修改)

----------------------------

valid users = 是否可以登录

write list = 是否可以写文件

admin users = 是否可以修改别人的文件(管理权限)

-----------------------------

 

5、修改配置文件

vim /etc/samba/smb.conf

找到 map to guest = bad user 并注释,不然后续访问提示:

 找到 usershare allow guests = yes ,将yes改为no

[global] 区块的最后加这三句,支持软链接

follow symlinks = yes
wide links = yes
unix extensions = no

 

最终配置:# 所有人对所有文件都有读写权限(不能修改他人文件内容)

[public]
comment = public
path = /opt/data/samba/public
create mode = 0666
directory mode = 0777
public = no
writable = yes

# 只读共享,所有人都只读
[share]
comment = share
path = /opt/data/samba/share
valid user = huiyun
create mode = 0777
directory mode = 0777
public = no
browseable = true

# 科研数据,user1可写,user2只读
[keyan]
comment = keyan
path = /opt/data/samba/keyan
create mode = 0666
directory mode = 0777
public = no
valid users = user1,user2
admin users = user1
# 上级目录,管理权限,admin管理(valid users 必须加,不然所有用户都能登录,都有writable权限) [manage] comment
= manage path = /opt/data/samba create mode = 0666 directory mode = 0777 public = no admin users = admin valid users = admin

 

6、重启服务

systemctl restart smbd

 

7、win10映射

 

 

 

输入用户名,密码完成映射。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章