Samba服务器搭建流程与问题解决

Ubuntu配置samba实现文件夹共享

安装leafpad记事本

apt-get install leafpad

安装SSH远程连接服务器

sudo apt-get install openssh-server

安装samba服务器

   sudo apt-get install samba

   sudo apt-get install cifs-utils

安装完成后查看版本号

    samba -V

查看当前目录

     pwd

在当前目录下创建共享目录

    mkdir /home/wang/share

修改当前目录的权限
    sudo chmod 777 /home/wang/share

创建Samba配置文件

1. 复制现有的配置文件

    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2. 修改现配置文件

    sudo nano /etc/samba/smb.conf

配置文件修改模式:

(1) share模式就是,所有的用户都可以直接访问不需要用户名和密码,无需samba用户就可以访问服务器

[Global]

  设置security = share 

在smb.conf最后添加

[share]
      path = /home/wang/share
      available = yes
      browseable = yes
      public = yes
      writable = yes

(2) user级别的samba则需以samba用户和密码才能访问

找到 security = share 将它改成 security = user 

在smb.conf最后添加

[share]
      path = /home/wang/share
      available = yes
      browseable = yes
      public = no
      writable = yes

创建samba帐户

  建立一个samba用户的密码保存文件

     sudo touch /etc/samba/smbpasswd
      sudo smbpasswd -a jamfrw/jamfr

添加用户失败

 Samba服务器搭建流程与问题解决_第1张图片

查询得出的结论是”添加的Samba用户首先必须是Linux用户”,一下子豁朗开郎。  

 

 

 

查看用户

sudo pdbedit -L

重启samba服务器

    sudo /etc/init.d/smbd restart

      Sudo Service smbd restart 

查看samba服务器转态

Samba服务器搭建流程与问题解决_第2张图片      

sudo systemctl  status smbd

Sudo Service smbd status 

 

 

 

设置共享文件

Mac设置如下: 
1、保证Mac和Ubuntu能ping通。  

 


 

    

 

 

 

2、 

 

或者移除CD/DVD驱动器 

Samba服务器搭建流程与问题解决_第3张图片

问题解决:

sudo useradd -d /home/jamftest jamftest -s /bin/false -N

sudo smbpasswd -a jamftest

[share]

comment = share

说明:comment是对该共享的描述,可以是任意字符串。

path = /srv/share 

browseable = no

说明:browseable用来指定该共享是否可以浏览。

guest ok = no

说明:意义同“public”。

说明:public用来指定该共享是否允许guest账户访问。

read only = yes

create mask = 0755

read list = jamftest

说明:write list用来指定可以在该共享下写入文件的用户。

write list = jamfrw

valid users = jamfrw, jamfr

 

smbpasswd命令的常用方法

smbpasswd -a 增加用户(要增加的用户必须以是系统用户)

smbpasswd -d 冻结用户,就是这个用户不能在登录了

smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用

smbpasswd -n 把用户的密码设置成空.

smbpasswd -x 删除用户 

 

Samba服务器搭建流程与问题解决_第4张图片

然后会要求你输入samba帐户的密码

 [如果没有第四步,当你登录时会提示 session setup failed: NT_STATUS_LOGON_FAILURE

 重启samba服务器

 sudo /etc/init.d/smbd restart

 

 

 


  

Linux用户使用/bin/false和/usr/sbin/nologin拒绝用户登录及其功能分析

/bin/nologin/bin/false的意思是禁止某个用户登录。

比较常用的用法:

#添加一个不能登录的用户

useradd -d /usr/local/apache -g apache -s /bin/false apache

要拒绝系统用户登录,可以将其shell设置为/usr/sbin/nologin或者/bin/false

usermod -s | --shell /usr/sbin/nologin username

或者

usermod -s | -shell /bin/false username

说明及比较:

/bin/false

/bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示。

/usr/sbin/nologin

nologin会礼貌的向用户显示一条信息,并拒绝用户登录:

This account is currently not available.

有一些软件,比如一些ftp服务器软件,对于本地非虚拟账户,只有用户有有效的shell才能使用ftp服务。这时候就可以使用nologin使用户即不能登录系统,还能使用一些系统服务,比如ftp服务。/bin/false则不行,这是二者的重要区别之一。

/etc/nologin

如果存在/etc/nologin文件,则系统只允许root用户登录,其他用户全部被拒绝登录,并向他们显示/etc/nologin文件的内容。

1 区别 

/bin/false是最严格的禁止login选项,一切服务都不能用。 

/sbin/nologin只是不允许login系统 

 

其中树莓派的/sbin/nologin文件在/usr/sbin/nologin 

小技巧: 

查看 /etc/passwd文件,能看到各用户使用的shell 

 

2.1 nologin 

当用户配置成/sbin/nologin时,如果再使用该用户ssh到linux操作系统,会提示 

This account is currently not available. 

 

如果配置错误,误将/usr/sbin/nologin配置成/sbin/nologin,SSH时会提示 

root@raspberrypi:/home# useradd -s /sbin/nologin piaohailin 

root@raspberrypi:/home# su piaohailin 

Cannot execute /sbin/nologin: No such file or directory 

 

2.2 false 

当用户配置成/bin/false时,ssh之后显示如下 

root@raspberrypi:/home# useradd -s /bin/false piaohailin 

root@raspberrypi:/home# su piaohailin 

root@raspberrypi:/home# whoami 

root 

不会有任何提示,用户切换不过去

 

 

/sbin/nologin只是不允许login系统,即使给了密码也不行。 所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例:各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。

有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登陆。假如有账号试图连接我的主机取得shell,我们就可以拒绝。

另外,如果我想要让某个具有 /sbin/nologin 的用户知道,他们不能登陆主机时,可以新建 /etc/nologin.txt 这个文件,在文件内面写上不能登陆的原因,当用户登录时,屏幕上就会出现这个文件里面的内容。

 

https://www.cnblogs.com/EasonJim/p/7157239.html

https://www.runoob.com/linux/linux-comm-nc.html

你可能感兴趣的:(linux)