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

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

在铺垫了端口号的预备知识之后,下面我们讲讲搭建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月出版)。更多理论推导及实战环节,请参阅该书。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值