1. 程式人生 > >Linux遠端管理、使用者許可權常命令(四)

Linux遠端管理、使用者許可權常命令(四)

遠端管理常用命令


        關機/重啟:shutdown
            shutdown 選項 時間
                可以安全關閉或者重新啟動系統
                -r 重新啟動
                    ps:不指定選項和引數,預設表示1分鐘之後關閉電腦
                        遠端維護伺服器時,最好不要關閉系統,而應該重新啟動系統
                shutdown -r now:重啟作業系統,其中now表示現在
                shutdown now :立刻關機
                shutdown 20:25 :系統在今天20:25會關機
                shutdown +10 :10分鐘後自動關機
                shutdown -c :取消之前制定的關機計劃

        檢視或配置網絡卡資訊:
            ifconfig         configure a network interface     檢視/配置計算機當前的網絡卡配置資訊
            ping ip地址   ping                                             檢測到目標ip地址的連線是否正常
                網絡卡:
                    網絡卡是一個專門負責網路通訊的硬體裝置
                    ip是設定在網絡卡上的地址資訊
        遠端登入和複製檔案
            ssh
                在Linux中SSH是非常常用的工具,通過SSH客戶端我們可以連線到運行了SSH伺服器的遠端機器上
                    資料傳輸加密,防資訊洩露
                    資料壓縮,提高傳輸速度
                    SSH客戶端是一種使用Secure Shell(SSH)協議連線到遠端計算機的軟體
                    SSH是目前較可靠,專為遠端登入會話和其他網路服務提供安全的協議

                域名和埠號
                    域名:
                        有一串用點分隔的名字組成,例如:www.baidu.com
                        是IP地址的別名,方便使用者記憶

                    埠號
                        通過IP地址找到網路上的計算機
                        通過埠號可以找到計算機上執行的應用程式
                            SSH伺服器的預設埠號是22,如果是預設埠號,在連線的時候可以省略

                        常見的伺服器埠號列表:
                            SSH伺服器  22
                            Web伺服器  80
                            HTTPS      443
                            FTP伺服器  21
                ssh [-p port] user@remote
                    user 是在遠端機器上的使用者名稱,如果不指定的話預設為當前使用者
                    remote是遠端機器上的地址,可以是ip/域名,或者是別名
                    port是SSH Server監聽的埠,如果不指定,就預設為22
                        ps:使用exit退出當前使用者的登入
                        ssh這個終端命令只能在Linux或者UNIX系統下使用
                        如果在Windows系統中,可以安裝PuTTY或者XShell客戶端軟體即可
                        putty下載: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
                        XShell下載: http://www.xshellcn.com/
                免密碼登入
                    ps:有關SSH配置資訊都儲存在使用者家目錄下的.ssh目錄下
                    配置公鑰:執行ssh-keygen 即可生成SSH鑰匙,一路回車即可
                    上傳公鑰到伺服器:執行ssh-copy-id -p port user@remote讓遠端伺服器記住我們的公鑰
                配置別名
                    1、進入:cd ~/.ssh/
                    2、建立config檔案:touch config
                    3、追加一下內容
                        Host 別名
                            HostName ip地址
                            User 使用者名稱
                            Port 22
                    4、儲存後,就可以用 ssh 別名 實現遠端登入,scp同樣可以使用別名(ssh 別名 = ssh -p port user@remote)
            scp
                secure copy  用來進行遠端拷貝檔案
                他的地址格式與SSH基本相同,需要注意的是,指定埠號時用的是大寫的 -P而不是小寫
                    ps:注意“:”後面的路徑如果不是絕對路徑,則以使用者家目錄作為參照路徑
                        加上 -r 選項可以傳送資料夾
                scp -P port test.py user@remote:Desktop/test.py  #把當前目錄下的test.py檔案複製到遠端家目錄下的桌面資料夾下

                scp -P port user@remote:Desktop/test.py test.py #把遠端家目錄下的桌面資料夾下test.py檔案複製到當前目錄下

                scp -r demo user@remote:Desktop  #把當前目錄下的demo資料夾複製到遠端家目錄下的桌面資料夾下

                scp user@remote:Desktop demo #把遠端家目錄下的桌面資料夾複製到當前目錄下的demo資料夾


    使用者許可權


        目標


            使用者和許可權的基本概念
            使用者管理的終端命令
            組管理終端命令
            修改許可權終端命令


        基本概念
            使用者是Linux系統工作中重要的一環,使用者管理包括使用者與組管理
            在Linux系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源(檔案、目錄)擁有不同的使用許可權
            對檔案/目錄的許可權包括:
                許可權     英文     縮寫    數字代號
                讀       read     r       4
                寫       write    w       2
                執行     excute   x       1
                無許可權            -       0

        組
            為了方便使用者管理,提出了組的概念,如dev(開發組:張三、李四、王五)
            在實際應用中,可以預先針對組設定好許可權,然後將不同的使用者新增到隊形的組中,從而不用依次為每一個使用者設定許可權

            組操作命令
                groupadd 組名  新增組
                groupdel 組名  刪除組
                cat /etc/group 確認組資訊
                chgrp -R 組名 檔案/目錄名   遞迴修改檔案、目錄的所屬組
        ls -l 擴充套件
            ls -l 可以檢視資料夾下檔案的詳細資訊,從左到右依次是:
                許可權       硬連線數      擁有者    組       大小          時間             名稱
                -rwxrw-rw- 1             odoo      odoo     130816000     9月  30  2018    postgresql-10.3.tar
                drwxrwxrwx 2             odoo      odoo     4096 9月      29  2018         Public

                許可權:第一個字元如果是d表示目錄
                                   目錄       擁有者許可權         組許可權       其他使用者許可權
                    檔案許可權示例: -          r  w  x            r  w  -      r  w  -
                    目錄許可權示例: d          r  w  x            r  w  x      r  w  x
                硬連線數:就是指有多少方式,可以訪問到當前目錄/檔案
                擁有者:家目錄下檔案/目錄的擁有者通常都是當前使用者
                組:Linux中,很多時候,會出現組名和使用者名稱相同的情況
        chmod 簡單使用(重要)
            可以修改使用者/組對檔案/目錄的許可權
            命令:chmod +/-rwx  檔名/目錄名

        使用者管理終端命令
            命令                                           作用                           說明
            useradd -m -g 組 新建使用者名稱                    新增新使用者                      -m 自動建立使用者家目錄
                                                                                           -g 指定使用者所在的組,否則會建立一個和使用者名稱同名的組名
            passwd 使用者名稱                                  設定使用者密碼                    如果是普通使用者,直接用passwd可以修改自己的賬戶密碼
            userdel -r 使用者名稱                              刪除使用者                        -r選項會自動刪除使用者家目錄
            cat /etc/passwd | grep 使用者名稱                  確認使用者資訊                    新建使用者後,使用者資訊會儲存在/etc/passwd檔案中
                ps:
                    建立使用者時,如果忘記加-m選項指定使用者的家目錄,最簡單的辦法就是刪除使用者,重新建立
                    建立使用者時,預設會建立一個和使用者名稱同名的組名
                    使用者資訊會儲存在/etc/passwd檔案中
        檢視使用者資訊
            命令              作用
            id 使用者名稱          檢視使用者UID和GID資訊
            who                檢視當前所有登入的使用者列表
            whoami             檢視當前登入使用者的賬戶名

            passwd 檔案
                /etc/passwd 檔案存放的是使用者的資訊,由6個分號組成的7個資訊,分別是:
                odoo:x:1000:1000:odoo,,,:/home/odoo:/bin/bash
                zhangsan:x:1001:1001::/home/zhangsan:/bin/sh

                1、使用者名稱
                2、密碼(x,表示加密的密碼)
                3、UID(使用者標識)
                4、GID(組標識)
                5、使用者全名或本地賬號
                6、家目錄
                7、登入使用的Shell,就是登陸後,使用的終端命令,ubuntu預設是dash

            usermod:用來設定使用者的主組/附加組和登入Shell
                usermod -g 組 使用者名稱  #修改使用者的主組(passwd 中的GID)
                usermod -G 組 使用者名稱  #修改使用者的附加組
                usermod -s /bin/bash  #修改使用者登入Shell
                主組:通常在新建使用者時指定,在etc/passwd 的第4列GID對應的組
                附加組:在etc/group中最後一列表示改組的使用者列表,用於指定使用者的附加許可權
                    ps:
                        設定了使用者的附加組之後,需要重新登入才能生效
                        預設使用useradd新增的使用者是沒有許可權使用sudo以root身份執行命令的,可以使用以下命令,將使用者新增到sudo附加組中:usermod -G sudo 使用者名稱

            which(重要):檢視執行命令所在的位置
                which ls  #輸出/bin/ls
                ps:
                    /etc/passwd 是用於儲存使用者資訊的資料夾
                    /usr/bin/passwd 是用於修改使用者密碼的程式

            bin和sbin
                在Linux中,絕大多數可執行檔案都儲存在/bin、 /sbin、 /usr/bin、 /usr/sbin
                    /bin 是二進位制執行檔案目錄,主要用於具體應用
                    /sbin 是系統管理員專用的二進位制程式碼存放檔案目錄,主要用於系統管理
                    /usr/bin 後期安裝的一些軟體
                    /usr/sbin 超級使用者的一些管理程式

            切換使用者
                命令               作用                     說明
                su - 使用者名稱        切換使用者,並且切換目錄   - 可以切換到使用者家目錄,否則保持位置不變
                exit               退出當前登入使用者

                su 不接使用者名稱,可以切換到root,但是不推薦使用,因為不安全

            修改檔案許可權
                命令      作用
                chown     修改擁有者
                chgrp     修改組
                chmod     修改許可權
                chown 使用者名稱 檔名|目錄名 #修改檔案|目錄的擁有者
                chgrp -R 組名 檔名|目錄名  #修改檔案|目錄的組
                chmod -R 755 檔名|目錄名  #修改檔案|目錄的許可權(-R遞迴修改目錄許可權)
                    ps:chmod 在設定許可權時,可以簡單地使用三個數字分別對應擁有者、組和其他使用者的許可權
                    擁有者               組                    其他
                    r  w  x              r  w  x               r  w  x
                    4  2  1              4  2  1              4  2  1


                    4  2  1     7       rwx    讀、寫、執行
                    4  2  0     6       rw-    讀、寫
                    4  0  1     5       r-x     讀、執行
                    4  0  0     4       r--     讀
                    0  2  1     3       -wx   寫、執行
                    0  2  0     2       -w-   寫
                    0  0  1     1       --x    執行
                    0  0  0     0       ---    無許可權

                常見數字組合有(u 表示使用者 /g 表示組 /o 表示其他):
                    777    ===>    u:rwx,g:rwx,o:rwx
                    755    ===>    u:rwx,g:r-x,o:r-x
                    644    ===>   &n