因为要考虑实际需要, 要把一个window文件服务器转换成Ubuntu Samba服务器, 因为单纯共享文件, 使用免费的linux可以节省资金.
当然安装Ubuntu服务器超简单, 没必要写什么了, 记得安装时只勾选OpenSSH和Samba 2个服务就好, 单纯共享文件足够了.
安装完毕登入输入如下命令把缺少的组件补全.
$ sudo apt-get install samba
检查完毕然后添加本地账户和samba用户.
$ sudo useradd UserName (添加linux用户, 但是只能远程登陆, samba的登录密码可以和本机登录密码不一样) $ sudo touch /etc/samba/smbpasswd $ sudo smbpasswd -a UserName (添加密码到要建立的samba共享用户, 日后修改密码也是这个命令)
输入两次密码确定密码.
建立如下的smbusers文件,
$sudo nano /etc/samba/smbusers 加入下面这一行并保存
UserName = “network username”
作用是只指定远程登陆, 多用户可以在里面分别添加对应的命令.
添加完用户后, 就进行下一步添加网络共享目录, 首先要mount上自己要分享的分区.
$ sudo mount /dev/sda1 /media/share
这样子切换到/media/share目录, ls一下看文件夹mount上没.
修改smb的配置文件.
$ sudo nano /etc/samba/smb.conf
修改smb.conf文件, 搜寻这一行文字
; security = user
修改成
security = user username map = /etc/samba/smbusers
再在文件尾部添加如下代码, 作用是添加共享目录.
[myshare] comment = Ubuntu File Server Share path = /media/share browsable = yes guest ok = yes read only = no create mask = 0755
然后保存, 重启samba服务, 这样子应该在网络邻居看到一个名叫myshare的共享文件夹了.
$ sudo restart smbd $ sudo restart nmbd
因为配置了guest就可以访问, 不用输入密码, 但是任何人都可以添加和删除文件, 不太符合一般公司实际需要, 下一步就要进行共享权限管理和设置.
上面已经配置了一个名叫UserName的samba账户. 所以如果需要分别设置权限, 就把上面的smb.conf文件里面的guest账户关闭.
guest ok = yes
修改成
guest ok = no
然后重启samba服务, 这样子就会提示输入账户和密码. 设置/media/share的权限, 让 UserName可以读写.
修改分享的权限要用到如下3个命令.
chgrp 修改文件夹拥有组, 用法: chgrp gourpname foldername chown 修改文件和文件夹拥有人, 用法: chown username folder name /or/ chown username file chmod 修改文件和文件夹的拥有的读写权限, 用法: chmod 775(读写权限) filename /or/ chmod 775 -R foldername(更改文件夹下所有文件的权限)
权限参考表
Frequently used numeric parameters for chmod
|
|
755
|
The general preferred permissions for almost all the files on your disk |
700
|
Extremely private data |
500
|
Extremely private data that you would not like to accidentally modify. So write protect it |
775
|
General files used when working as a Group (Others can only view/execute your files) |
770
|
Important files used when working as a Group (Others cannot do anything with your files) |
750
|
Allowing group to view your files but no write access (Others cannot do anything with your files) |
777
|
Something you should never want to do 😉 |
例如你只想共享一个文件夹(testfolder)只有指定用户(test)可以访问就用如下命令:
$ sudo chown test:tech testfolder(修改testfolder为test拥有, test为用户名, tech为它所属组, testfolder为要指定的文件夹) $ sudo chmod 770 -R testfolder(修改文件夹为只有所有者能读写) $ list -l
这样子用查看到的权限入这样子, drwx意义为只有文件拥有者可以读写, 其他任何人都没法访问, 包括浏览.
drwx------ 2 test tech 4096 Apr 8 2013 testfolder
添加一个组和添加用户到组的简单命令如下
$ sudo addgroup groupname $ sudo adduser username groupname
完成以上设置已经差不多了,但是我们要添加自己要共享的分区到自动mount里面去, 这样子开机时就会自动mount上要共享的分区.
$ sudo fdisk -l 查看分区里表如下
Device Boot Start End Blocks Id System
/dev/sda1 567107584 976707631 204800024 83 Linux
修改mount表
$ sudo nano /etc/fstab
添加一行如下
/dev/sda1 /media/share ext4 defaults 0 1
保存重启电脑,
cd /media/share
查看是否已经开机自动mount上.
到此基本就差不多完成了, 以下列出参考资料: