(这是一篇面向零基础读者的教程)

在铺垫了端口号的预备知识之后,下面我们讲讲搭建Jupyter服务器的另外一个前置工作——如何创建Linux用户。

下面我们的实验环境默认为CentOS 7。事实上,即使你用的是Ubuntu,甚至Windows,影响也不甚大,配置的过程大同小异。如果有差异,请自行请教谷老师或必老师。

2.2.1 创建Linux用户(可选项)

为 Jupyter Notebook创建一个独立的Linux 账号,并非必需。但好处在于,我们可以在隔离的环境下操作 Jupyter应用,和其他用户的环境互不干扰。

现在假设你有个服务器,其IP地址为:192.168.31.176。显然,这是一个局域网的服务器地址。但无需担心,在云平台上公网的服务器配置流程,与下面的流程完全一样。

如果你能物理接触到这台服务器,自然善莫大焉,这样你就可以直接使用图形界面安装Anaconda、创建用户等操作就好了。

现在,我们假设,作为配置方的你,也是不能直接接触到这台服务器(比如说,如果你租了阿里云或微云的服务器,天各一方的你,是没有办法物理接触到这个服务器),通常的办法是,通过SSH(Secure Shell 之缩写)来远程登录,并操作访问服务器。

Windows用户更幸福一点,可使用界面更为友好的WinSCP/Xshell来访问。下面我们详细说说如何在Linux平台创建用户。

(1)远程登录服务器

首先,为了操作远程服务器,我们首先要做的事情,便是要登录到那个远程服务器。通常来说,作为配置服务器的你,会有超级管理员root账号的。于是,我们先以root身份远程SSH登录这个服务器:ssh root@192.168.31.176

然后,按照提示,输入用户root对应的密码。

这里有个细节,需要初学者注意:在Linux/Mac操作系统环境下,在终端输入密码,屏幕并没有任何提示,包括那个我们熟悉的隐藏密码的星号(*)也不会显示。这样一来,你可能会认为自己没有输入上,但实际上,Linux/Mac终端会默默记录你的每次键盘敲击。

在输入正确密码后,进入远程服务器终端。

(2)创建新用户

在终端,创建一个新用户的方法,很简单。假设我们要创建的用户名为jpnb(当然,对于这个用户名,你可以任意更改为自己喜欢的名字):# 可以把 jpnb替换为任意你想要的用户名,下同

adduser jpnb

如前所述,本讲中的操作,都是假定你是root身份。如果你不是root身份登录,需要借助sudo权限。那么上述命令就为:『sudo adduser jpnb』,然后输入相应的密码即可完成用户的创建。

我们可以用如下指令来显示这个用户jpnb的信息(如图3):[root@centos-7 ~]# cat /etc/passwd |grep jpnb

jpnb:x:1001:1001::/home/jpnb:/bin/bash图3 查看新建用户的信息

上述信息包含了该用户的基本信息,如用户名,密码(为了加密,有没有设置密码都会显示x),用户ID,用户所在组的ID,用户家目录(/home/jpnb)以及shell命令所在的目录。

(3)为新用户设置密码

下面的工作就是为这个用户配置一个密码,使用passwd指令即可完成:passwd jpnb # jpnb是你新建的用户名

然后在为新用户jpnb设置新密码,如果密码过于简单,Linux系统是不答应的。

(4)添加sudoer名单

在后期,jpnb这个账号需要在脱离root账号下独立工作,比如安装租入Python、TensorFlow、Keras等应用程序。有的安装流程,可能需要管理员权限,如果每次安装软件,都需要root亲自出马,未免过于繁琐。

因此,root可以做部分放权,即创建一个sudoers用户组,它的全称就是“super user doers”,顾名思义,就是“超级用户执行者(doer)”。

sudo命令是Linux提供的一个权限提升命令,它允许普通用户临时以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令,就好像是 root 亲自执行一样。

但是,一般用户是没有sudo执行权限的,如果想有这个权限,这个必须先把这个新建的用户添,加进sudoers的“白名单”,其所在路径为:/etc/sudoers。

由于这个白名单非常重要,因此,不能轻易修改它。通常,它的文件属性是对所有人(包括root)是只读(r)的。我们可以用ls -l命令查看这个文件的属性。

为了修改这个文件,我们首先要修改这个文件的属性,添加可写权限(w):chmod u+w /etc/sudoers

于是,下面的工作就是修改这个白名单。下面我们以root身份用vim来修改这个白名单:vim /etc/sudoers

然后进入如图4所示的界面。图4 sudoers添加白名单

在sudoers文件的第100行左右的有这么一行:root ALL=(ALL) ALL

复制改行(yy),然后粘贴之(p),然后将复制的第二行中的root,修改为我们前面创建的用户名jpnb 。jpnb ALL=(ALL) ALL

这样一来,jpnb 基本具备和root一样的权限。

然后,保存退出(wq)

接下来,不忘了一个重要的操作,撤销文件的写权限:chmod u-w /etc/sudoers

如果忘记撤销这个写权限,jpnb的在sudoers中的添加是无效的。原因并不复杂,这是因为,只有白名单sudoers是只读的,Linux系统才认为它是可信的,否则谁都能「填上一笔」,管理权限也未免太多随意。

由于我们已经给新用户jpnb添加进sudoer用户组,此后的工作(如安装诸如Python、TensorFlow等)都是以用户jpbn的身份进行的。

如果当前是root用户,不妨用“su jpnb”来切换用户。这里的命令“su”是“swich user(切换用户)”简写。

到此为此,我们把如何创建Linux用户的预备知识讲解完毕,下一讲,我们将聊聊如果在终端安装Python、TensorFlow等软件。

「人生没有白走的路,每一步都算数」,让我们慢慢进入配置Jupyter服务器的佳境。

本文部分节选自《深度学习之美:AI时代的数据处理与最佳实践》(张玉宏著,电子工业出版社,2018年7月出版)。更多理论推导及实战环节,请参阅该书。

python远程创建linux用户_如何设置远程访问的Jupyter Notebook服务器-02:如何创建Linux用户?...相关推荐

  1. 使用域名访问远程jupyter_如何设置远程访问的Jupyter Notebook服务器-01(之预备知识:什么是端口号?)...

    (这是一篇面向零基础读者的教程) 0.前言 毋容置疑,Jupyter Notebook是统计.数据分析和机器学习的利器,使用起来非常方便和高效. 在上一讲中,我们讨论了如何安装和使用Jupyter N ...

  2. 【Tips】jupyter notebook快捷方式bat脚本创建——快速打开指定文件夹指定Python虚拟环境

    简介 本文主要解决jupyter notebook的快捷打开,通过创建并编写bat文件,快速在指定的位置.指定的虚拟环境打开jupyter notebook,并通过创建快捷方式自定义图标.快捷键 问题 ...

  3. linux转为root用户_详细到没朋友,一文帮你理清Linux 用户与用户组关系~

    1.用户和用户组文件 在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的. 在 linux 系统中,所创建的用户帐号和其相关信息 (密码除外) 均是存放在 / ...

  4. linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务

    2019独角兽企业重金招聘Python工程师标准>>> 两台服务器111,和117服务器,每天完成111服务器上网站和数据库自动备份到117服务器上 1:我的111服务器上是当前用户 ...

  5. python传奇自动打怪脚本_传奇自动刷怪脚本,节省服务器资源

    传奇自动刷怪脚本,节省服务器资源 人到怪到,人走怪没,节省服务器资源哦! [@main] #if checkhum d716 1 checkmonmap d716 20 #act goto @exit ...

  6. jupyter notebook使用入门2——创建一个基于scikit-Learn的线性预测ipynb文件

    关于jupyter notebook的安装可参考博客:https://blog.csdn.net/qq_30815237/article/details/86577559 1.接下来新建一个ipynb ...

  7. python入门用spyder还是jupyter_python3工作环境部署+spyder3+jupyter notebook

    1.python3安装 1)官网去下载python3.7版本,双击安装,只要注意勾选写到PATH就行,其它直接NEXT. 2)安装完成,CMD键入 python 回车,跳出python界面就是成功. ...

  8. anaconda3配置环境变量_阿里云ECS配置Jupyter Notebook

    访问阿里云官网,购买ECS实例成功后,打开管理控制台后就可以看到实例的相关信息: 打开XShell,新建一个会话,输入上图所示的公网IP: 打开刚才新建的会话,输入用户名和密码就可以连接上之前购买的E ...

  9. 【Python】推荐10个好用到爆的Jupyter Notebook插件,让你效率飞起

    今天小编来介绍几个在jupyter notebook中被广泛用到的插件,能够更好地帮助到大家进行数据分析与可视化,极大地提高日常的工作效率. 准备工作 首先我们先下载好插件选择的工具栏,通过pip i ...

最新文章

  1. Exchange 2016集成ADRMS系列-12:域内outlook 2010客户端测试
  2. 演练3-1:留言管理系统的制作
  3. 项目管理风险控制及注意事项
  4. 局域网内其他电脑通过SSH访问NAT模式下的虚拟机
  5. python画图如何调整图例位置_matplotlib中legend位置调整解析
  6. 【AI不惑境】模型量化技术原理及其发展现状和展望
  7. MySQL数据库select语句的使用方法
  8. 时间约束的实体解析中记录对排序研究
  9. Gartner预测2019年全球IT支出将达到3.8万亿美元
  10. 人工智能实战2019 - 第4次作业(团队后期项目)- 就起这个名字吧
  11. Problems with Ribbon/Feign/Zuul retry
  12. 暴力破解WiFi密码
  13. JTAG Pin脚定义及要求
  14. 计算机系大神和数学系系花,小甜文:《一贱钟情,大神求放过》1v1双C,男主小奶狗,全程高甜...
  15. 【调研】华图教育:领跑公职培训市场
  16. FPGA基础(数字电路)
  17. JAVA打印月历(以2017年为例)
  18. 公募基金历史数据基础分析教程
  19. 摇一摇抽奖 php,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖
  20. 华为19级专家10年心血终成百页负载均衡高并发网关设计实战文档

热门文章

  1. wxWidgets:使用自定义对话框
  2. boost::regex模块实现config_info 来打印正则表达式库配置信息的测试程序
  3. boost::program_options模块实现一个用户定义的类来解析 特定机制——不是默认使用的 iostream 操作的测试程序
  4. boost::exception模块实现boost :: tuple捆绑的测试程序
  5. VTK:可视化算法之FireFlow
  6. VTK:可视化之Blow
  7. OpenCV使用基本算法检测颜色检查器
  8. OpenCV直方图计算Histogram Calculation
  9. Qt Creator造型Modeling
  10. OpenGL缩放转换