目的:
我们需要创建一个工程共享目录 work,里面存放工程源码,用于各个用户复制提取。
同时登入各自用户名后,只显示工程共享目录 work 和自己的用户名目录。
并且,每新加一个用户,就自动在用户目录下创建一个文件夹project.
-----------------------
1:创建 用户私人目录:
cd /etc/skel
sudo mkdir project
只能自己访问:
sudo chmod g=,o= project
当adduser 时,会自动在用户名下,创建project目录
2、安装samba
sudo apt-get install samba
sudo apt-get install smbfs
测试下:
testparm
service smbd restart
3.:创建 新用户:
sudo adduser xhy
则会创建 /home/xhy 用户目录
删除用户的命令:
userdel -rf xhy
4: 将xhy加入到smb
sudo smbpasswd -a xhy
sudo smbpasswd -x xhy //删除 命令
5.创建工程共享目录 work
mkdir /home/work
chmod 777 /home/ work
6:
cd /etc/samba/
cp smb.conf smb.conf-bak
vim smb.conf
[global]
workgroup = WORKGROUP
display charset =UTF-8
unix charset = UTF-8
dos charset =cp936
[homes]
browseable =no
guest ok=no
read only=no
//创建共享目录,工程项目文件,保存里面让各用户复制
[Share]
comment = shared folder
path =/home/work
public =yes
writable=yes
available=yes
browseable=yes
7. 保存退出,重启 service smbd restart
-----------------------------
ok~我们来登入测试下。
注意:很多人登入时,只输入ubuntu的ip时,显示没有要求输入用户名和密码就登入进去了。这是因为没在IP后面添加对应的用户名。
如:\\192.168.1.120\xhy
当然,如果只输入ip,则会进入工程共享目录,因是任意用户访问。因此不用输入用户。
这样登入时就会提示要求输入用户名和密码了:
登入成功,同时也拥有了读写权限:
同时返回上一级,我们可以看到工程共享目录 和用户目录多显示出来了。其他用户文件多没显示。
-------------
在创建一个用户来测试下多用户功能。
sudo adduser zhi
sudo smbpasswd -a zhi
我们开始切换用户登入下试试。
注意:当我们切换用户时,win下需要断开上一次的连接,才能保证下一次连接会显示用户名提示。
对网络邻居点右键->断开网络驱动器:
如果我们在登入用户名时,点击了保存密码,则需要到win用户管理那里去删除保存的用户密码:
控制面板-> 用户账户-> 点击计算机管理员账号就会出现如上图。
删除它。
我们登入用户 zhi 看看效果:\\192.168.1.120\zhi
ok~~
xhy用户目录没有出现。
这样就很好的处理了服务器下多用户目录共享操作问题。
===================================================
有些小问题,当创建用户后,执行sudo 提示:
xxx is not in the sudoers file. This incident will be reported.
linux默认没有为当前用户开启sudo权限!
解决方法如下:
1>、进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。
2>、添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。
3>、编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",输入"i"进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存(就是先摁一下Esc键,然后输入":wq")退出。
4>、撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。
至此,问题解决。