单位里面有文件共享服务器,可惜所有人都使用同一个帐号登录,文件放到上面搞不好就会被别人篡改,所以就自己搭了一个。
需求:每个用户都有自己的共享目录并对其余用户只读。
环境:操作系统Ubuntu 16.04Samba版本4.3.11-Ubuntu
Step 1 创建操作系统用户
通过adduser [用户名]命令创建用户,按提示操作。(Ubuntu中useradd命令不会自动创建用户的家目录)
*如果你不希望用户通过shell登录系统的话,记得修改用户shell
usermod -s /usr/sbin/nologin [用户名]
Step 2 增加Samba用户
使用smbpasswd -a [用户名]命令将操作系统用户添加为Samba用户,按提示设置口令。
Step 3 修改Samba配置文件
默认的Samba配置文件已经包含了大部分所需的配置,只需修改两个地方。
①在[global]配置中增加security = user
②按照下面修改#=========Share Definitions===========以下的部分
[homes]
browseable = no
read only = no
valid user = %s
[自己取名字]
path = /home/[用户名]
browsable = yes
readonly = yes
Step 4 重启Samba服务
/etc/init.d/smbd restart
现在试着访问一下共享路径,应该能看到一个[自己取名字]的文件夹,使用[用户名]和在第二步中设置的口令登录。登录后再次访问共享路径,应该除了一个[自己取名字]的文件夹,又出现了一个[用户名]的文件夹。
这两个文件夹实际的路径都是/home/[用户名],只不过一个只读而且其他Samba用户也能访问,另一个只有自己登录后才能看到。
例如下图:
*预期的功能差不多实现了,但是每个用户会看到两个自己的共享文件夹,挺蛋疼的,主要是我还没搞明白[homes]这块怎么能让其他用户登录后看到。。。这部分留待后面再改进吧。
以上。
领取专属 10元无门槛券
私享最新 技术干货