Debian8.1安装配置完成并成功与window共享文件后,系统重启后再次访问时出现如下问题

(图)的解决方法

手动重启samba

sudo /etc/init.d/samba start

从window端访问成功,所以以一本人现在的认知决定手动写一个脚本开机自动启动samba服务器。

一,如何添加这一个开机自动运行脚本呢?

1.脚本内容

#!/bin/bash
### BEGIN INIT INFO
# Provides: start_samba
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Run /etc/init.d/start_samba if it exist
### END INIT INFO
sudo /etc/init.d/samba start

上面那一堆还不知道有什么意义,但是没有就会有警告,不知道去掉会不会对脚本的执行有没有影响。

2.脚本写完成后增加执行权限并复制到启动目录下

sudo chmod  +x start_samba

sudo cp  start_samba  /etc/init.d/

3.测试运行发现这个这个脚本在执行时需要手动输入密码,所以肯定不能达到目地的。

4.开始查找关于sudo的配置的问题总结如下

sudo的特点:

sudo能够限制指定用户在指定主机上运行某些命令。

sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。

sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。

sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”,默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。

sudo其它常用的一些常用参数:

sudo  -h      Help列出使用方法,退出。

sudo  -V        Version显示版本信息,并退出。

sudo  -l       List列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。

sudo     -u        username#uidUser以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。

sudo  -k       Kill清除“入场卷”上的时间,下次再使用sudo时要再输入密码。

sudo  -K      Surekill与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。

sudo  -b      commandBackground在后台执行指定的命令。

配置sudo

通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止

两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。

其配置文件内容部分如下:

# User privilege specification
root ALL=(ALL:ALL) ALL
fa ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d

其中三个ALL的含义:第一个是指网络中的主机;第二个括号中的两个分别是指 sudo -u命令时可以以谁的身份去执行(两个选一个)例子中的ALL就是

可以以任何用户身份去执行;第三个时可以执行的指令名 。其中第二个括弧中的两个选项可以在sudoers 文件中设置一个为默认

Defaults:user runas_default=user1

例如:

让用户user可以通过sudo执行任何root可执行的命令

user   ALL=(ALL:ALL)ALL

也可以指定user使用sudo 可执行的命令

user localhost=/sbin/ifconfig,/bin/ls

再执行其他的不属于上面限定的命令就会被sudo限制。

好了言归正传让脚本中启动samba服务的命令执行时不再需要输入密码,只要在sudoers文件中加入下面这一行就可以了。

user NanoPi2=NOPASSWD:/etc/init.d/samba

然后上面哪个脚本就可以不用输入管理员密码执行了。

2,如何设置开机自动运行呢?

把脚本复制到/etc/init.d/下再执行下面命令

sudo updata-rc.d   start_samba  defaults   99

其中的数字是启动顺序,数字越大启动越靠后启动,如果是网络应用建议数字设置大一点。

相反如果要删除这个启动项只要执行下面命令

sudo updata-rc.d  -f  start_samba   remove

参考博文:  http://www.jb51.net/article/48390.htm

  https://www.magentonotes.com/ubuntu-config-autostart-shell-script.html

Debian8.1 安装samba与windows共享文件,在系统重启后samba服务无法自动启动的更多相关文章

  1. Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务(转载6)

    Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务 一.引言 今天本来没有打算写这篇文章,但是,今天测试Redis的时候发现了两个问题 ...

  2. samba 挂载windows共享文件夹

    先转载一片文章     centOS下yum安装配置samba 地址 http://blog.csdn.net/linglongwunv/article/details/5212875 遇到问题1 # ...

  3. 安装 Linux 与 Windows 10 双系统,你需要了解的一切

    该选Windows 10还是Linux Mint?鱼与熊掌当然可以兼得,但咱们得掌握点小技巧才能顺利搞定. Windows 10绝不是唯一一款值得我们安装在自己计算机之上的免费操作系统.Linux只靠 ...

  4. Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...

  5. Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务

    一.引言 今天本来没有打算写这篇文章,当初我感觉使用这个工具应该很简单,下载的过程也不复杂,也没有打算记录下来.但是在使用的过程中还是出现了一些问题,为了给第一次使用Redis Desktop Man ...

  6. Windows Server 2008 服务器重启后卡死在Windows Update 页面问题处理

    Windows Update 服务器 服务器是联想RD640 操作系统Windows Server 2008 R2 Enterprise版 补丁版本是SP1 远程windows服务器时,一直处于远程建 ...

  7. 树莓派3b+ 用samba与windows共享文件

    1. 树莓派安装samba sudo apt-get install samba 2. 设置一个公共目录 cd /;sudo mkdir share;sudo chmod 777 sharesudo ...

  8. 在linux中创建samba,为Windows共享文件

    #首先在linux系统安装samba服务 yum install samba  共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写打开samba的配置文件/etc/samba/smb.con ...

  9. centos 配置 samba 与windows共享文件夹

    yum install samba /etc/samba/smb.conf directory mask = 0777 ← 指定新建目录的属性(以下4行) force directory mode = ...

随机推荐

  1. 虚拟化kvm的搭建

            虚拟化, 是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机 ,在一台计算机上同时运行多个逻辑计算机,每台逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不 ...

  2. Eureka详解系列(二)--如何使用Eureka(原生API,无Spring)

    简介 通过上一篇博客 Eureka详解系列(一)--先谈谈负载均衡器 ,我们知道了 Eureka 是什么以及为什么要使用它,今天,我们开始研究如何使用 Eureka. 在此之前,先说明一点.网上几乎所 ...

  3. 详解Mybatis拦截器(从使用到源码)

    详解Mybatis拦截器(从使用到源码) MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能. 本文从配置到源码进行分析. 一.拦截器介绍 MyBatis 允许你在 ...

  4. API服务接口签名代码与设计,如果你的接口不走SSL的话?

    在看下面文章之前,我们先问几个问题 rest 服务为什么需要签名? 签名的几种方式? 我认为的比较方便的快捷的签名方式(如果有大神持不同意见,可以交流!)? 怎么实现验签过程 ? 开放式open ap ...

  5. 研发过程及工具支撑 DevOps 工具链集成

    https://mp.weixin.qq.com/s/NYm63nkCymIV3DbL4O01dg 腾讯重新定义敏捷 |Q推荐 小智 InfoQ 2020-09-03 敏捷开发奠基人 Robert C ...

  6. Python PyCharm安装第三方库

    第一步:在PyCharm菜单中选择File--->Settings 第二步:在设置页出现的搜索框搜索:Project Interpreter 或者直接定位到此处 第三步:输入库名,搜索安装第三方 ...

  7. all header field names in both HTTP requests and HTTP responses are case-insensitive.

    https://tools.ietf.org/html/rfc6455#section-4.2.1 Please note that according to [RFC2616], all heade ...

  8. Centos7服务器安装Docker及Docker镜像加速,Docker删除

    Centos7服务器安装Docker及Docker镜像加速,Docker删除 1.Centos7服务器安装Docker 1.1 root账户登录,查看内核版本如下 1.1.1 卸载服务器旧版本Dock ...

  9. TcaplusDB常见问题-数据库原理类

    gameserver 如何剔除某个无效的 tcaproxy(接入层)节点? TcaplusDB API 在这里对 tcaproxy 异常做了容灾的处理,API 剔除无效的 tcaproxy 进程的方式 ...

  10. C++的转换手段并与explicit关键词配合使用

    前言 C中我们会进行各种类型的强制转化,而在C中我们经常可以看到这种转换 memset(OTA_FLAG_ADDRESS,(uint8_t*)&OTA_Flag,sizeof(OTA_Flag ...