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月出版)。更多理論推導及實戰環節,請參閱該書。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python远程创建linux用户_如何设置远程访问的Jupyter Notebook服务器-02:如何创建Linux用户?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 买分红多的股票能稳赚吗 其实算是一个误区
- 下一篇: 2022年CPA考试学习方法分享,需注意