LinuxMint 17 KDE samba如何共享文件及常见错误

来源:互联网 发布:mac office2011破解版 编辑:程序博客网 时间:2024/05/19 23:12

1、安装samba

sudo apt-get install samba-common samba samba-client system-config-samba

2. 添加一个匿名共享

sudo system-config-samba

添加共享目录,由于没添加samba用户,就设置成所有用户都可访问。

3. 添加用户

添加系统用户

sudo groupadd sambausers

sudo useradd -g sambausers -s /sbin/nologin -d /dev/null smbadmin

添加samba用户

sudo smbpasswd -a smbadmin

删除samba用户

sudo smbpasswd -x smbadmin

4. 这时可添加带用户名密码的共享了


5. 测试共享

匿名用户登陆测试:

sudo smbclient //192.168.1.4 -N

可用ls 列举文件,可用命令get name_from name_to获得文件

带用户名测试

sudo smbclient //192.168.1.4 -U smbadmin


5. 如遇到错误 "NT_STATUS_ACCESS_DENIED "

可将共享的文件夹改成smbguest用户拥有,或要访问的用户拥有,命令:

sudo chown smbadmin:smbusers shrefolder

同时在共享的目录链上,也应确保samba用户有访问权限。

确保访问权限:

sudo chown 777 folder_name


附1:

Samba如何用户共享目录

在smb.conf配置文件中,用户共享目录段(Share Definitions)主要用来设置Samba双线虚拟主机服务器的共享资源。如果用户想要发布共享资源,就需要对Share Definitions中的部分配置段进行配置。Share Definitions字段非常丰富,其配置也相当灵活。

用户主目录是Samba为每个Samba用户提供的共享目录,只有用户本身可以使用。默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。

另外,对用户共享目录段(Share Definitions)的设置是针对共享目录中的个别部分进行的设置,只对当前的共享资源起作用。

在[home]配置段中可以有多个字段,如图中的[Profiles]配置段其实就是指定共享名,也就是从网上邻居中看到的文件夹名称,不论是[home]配置段还是各个字段共享文件,都可以使用如下所示的命令参数来设置共享资源。

comment定义说明文字,当一个客户端列出服务器上的共享资源时,comment指令定义的文字将出现在共享名的旁边.

path指定共享的路径.

comment注释说明.

path分享资源的完整路径名称,除了路径要正确外,目录的权限也要设置正确.例如,可以指定path=/data/%m,这样如果一台计算机的NetBIOS名称是host,那么它访问一个共享文件(如soft)时将进入data/host目录,而NetBIOS名称是Yl的计算机则进入/data/yl目录.

browseable是(yes )/否(no)在浏览资源时显示共享目录,若为否(no)则必须指定共享路径才能够进行存取操作.

printable是( yes )/否(no)允许打印.

hide dot files是(yes )/否(no)不显示隐藏文件.

public是(yes )/否(no)让可以登录的用户看到共享目录.

guest ok是(yes )/否(no)公开共享,若为no,则进行身份验证(只有当security = share时,此选项才起作用).

read only是(yes )/否(no)以只读方式共享,当与writable发生冲突时以writable为准。

writable是(yes )/否(no)不以只读方式共享,当与read only发生冲突时,忽略read only.

valid users设定只有此名单内的用户才能够访问共享资源(拒绝优先).

invalid users设定此名单内的用户不能访问共享资源(拒绝优先).

read list设定此名单内的成员为只读.

write list如果设定为只读,则只有设定的write list内的成员才可做写入动作.

create mode建立文件时分配的权限。

directly mode建立目录时分配的权限.

force group指定存取资源时必须以此设定的群组使用者进入才能进行存取操作.

force user指定存取资源时必须以此设定使用者进入才能进行存取操作。

valid users指定共享资源的有效用户,即允许访问资源的用户,存在多个用户时需 使用逗号“,”隔开.例如,设置允许host和somboy对资源的访问,即“valid users = host, somboy"。

wide links是否允许共享外符号连接,例如共享资源中有个连接指向非共享资源的文件或目录,如果设置该选项为“no",就无法访问这些连接的内容.

sync always对该共享资源进行写操作后是否进行同步操作.

max connection设置同时连接数.如设置最大连接数为20,可以使用语句“max connection=20"。

admin users该参数用来赋予用户对共享资源的管理员权限,也就是说这些用户可以使用root身份对所有文件进行操作,但这仅局限于共享资源上.因此,该参数的设置要慎用,因为任何这样的用户都可以对共享上的文件进行随意操作,将带来安全隐患.其默认值为"no".例如,设置用户host为共享资源的管理员,可以使用“admin user = host"语句.

在Share Definitions部分的第一行是[homes],它是特殊的行,这里的名字不能改变。[homes〕共享目录并不特指具体的共享目录,而是表示Samba用户的主目录,即Samba用户登录后可以访问同名系统用户主目录中的内容.

下面以一个实例来简单说明如何共享目录。例如,Samba服务器中有个目录为/soft,在此需要发布该目录成为共享目录,并定义共享名为public。



附2:

iptables 设置

sudo iptables -A INPUT -m state --state NEW -p tcp --dport 137 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 138 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 445 -j ACCEPT

sudo iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT



 


0 0
原创粉丝点击