两个(lin dong)属于技术部(tech),两个(jiao ming)属于工程部(engi)。
员工在公司内可以流动办公,但不管在哪办公都要把自己的文件保存在samba服务器上。
同一部门有共享文件夹,不同部门不能访问(说到这是不是很象vlan技术?)。
其他人只能访问自己的home目录
所有人不能使用服务器的shell
groupadd tech
groupadd engi
往组里加用户:
useradd -g tech -s /bin/false lin
~~~~(同样的方法)
-g tech 是你加lin这个用户到tech这个组,-s /bin/false是指它没有shell
因为登陆要有密码,所以要加密:
smbpasswd -a lin
输入密码
但这只是五个人的公司,如果五百人是不是挨个输呢?
我们可以编写脚本
for user in lin dong
do
useradd -g tech -s /bin/false $user
smbpasswd -a $user
done
(for user 是制定一个变量,in 后面跟一个列表 有lin 和dong 这两个用户
do循环
useradd -g tech是加到这个组里 -s /bin/false是加的用户没有shell
$user是调用上边的变量
下面的同理
输入密码
在加老板:
useradd ceo
smbpasswd -a ceo
然后我们为他们建立自己的目录:
mkdir /home/tech /home engi
现在这两个目录是root的, 我没必须把这两个目录给这两个组:
chgrp tech /home/tech
chgrp engi /home/engi
因为是共享目录,组内任何人都可以写,必须改权限
chmod 770 /home/tech
chmod 770 /home/engi
为了能够让目录永远的共享下去权限不变可以加、:
chmod g+s /home/tech
chmod g+s /home/engi
下一步就改samba配置文件了
vi /etc/samba/smb.conf
[tech]
path = /home/tech (路径)
comment = tech (注释)
public = no (不共享,有密码才能进)
valid users = @tech (访问权限为tech组)
write list = @tech (写权限为tech组)
create mask = 0770 (创建文件权限问770,但普通文件没有执行权限)
directory mask = 0770 (创建目录权限)
同样
[engi]
path = /home/engi
comment = engi
public = no
valid users = @engi
write list = @engi
create mask = 0770
directory mask = 0770
最后可以用smbclient -L localhost -U lin%lin测试(假设lin的密码是lin)