Linux基礎——使用者和使用者組

一.使用者和使用者組
  使用者在/etc/passwd中
  使用者組在/etc/group/中
注意:在建立使用者時,系統預設生成一個使用者組(組名和使用者名稱一致)

1.使用者

1.1檢視使用者時:cy:x:1000:1000:cy:/home/cy:/bin/bash
    cy:使用者名稱
    x:加密的密碼
    1000:使用者編號
    1000:組編號
    cy:使用者全名稱
    /home/cy:所在位置
    /bin/bash:可執行命令

useradd:新增使用者
  格式:
    useradd 使用者名稱

passwd:修改密碼
  格式:
    passwd 使用者名稱
注意:輸入密碼時,密碼預設不顯示

su:切換使用者
  格式:
    su 使用者
注意:root切換普通使用者時,不需要輸入密碼。

userdel:刪除使用者
  格式:
    userdel [選項] 使用者名稱
選項:
  -f:刪除登入使用者
  -r:刪除使用者和使用者相關檔案和目錄
  -rf:刪除登入使用者和登入使用者相關檔案和目錄
注意:使用者主目錄在/home,通訊檔案在/var/spool/mail/
使用-f時,使用者相關檔案和目錄不會進行刪除

2.使用者組在/etc/group/中

2.1 在建立使用者時,系統預設生成一個使用者組(組名和使用者名稱一致)

  1. [root@master /]# useradd show
  2. [root@master /]# groupadd show

groupadd:“show”組已存在(不能刪除主組,主組隨著使用者的消失而消失,刪除show)
groupadd:建立組(普通組,由系統預設生成的叫做主組)

  格式:
    groupadd 組名
注意:建立普通組不會生成使用者

2.2 groupdel:刪除組(普通組,不能刪除主組)
  格式:
    groupdel 組名
注意:
  不能刪除主組,主組隨著使用者的消失而消失
  區分:主組是建立使用者時系統預設生成的,依賴於使用者的存在而存在
  手動建立的普通組用於管理多個普通使用者

2.3 gpasswd:管理使用者和組
  格式:
    gpasswd [選項] 使用者 組
選項:
  -a:新增
  -d:刪除
注意:組預設是沒有任何使用者的
  新增一個使用者到組的時候,可以新增到普通組,別的主組和本身的主組
  如果是普通組,無論組下是否有使用者都可以直接刪除
  如果是主組並且主組下面有使用者,刪除使用者時主組不會刪除(主組變成普通組)

許可權:
  通過ll檢視詳細資訊時:-rw-r--r--. 1 root(使用者) root (組)181 3月 15 15:34 test.txt
  -:表示型別
  rw-:當前使用者許可權
  r--:當前使用者組許可權
  r--:其他使用者許可權

  r:讀4
  w:寫2
  x:執行1

  u:當前使用者
  g:當前組
  o:其他
  a:所有

3.許可權分配

3.1chmod:修改許可權
  格式1:(使用相加減表達許可權)
    chmod [選項] [許可權修改] [檔案]
  格式2:(使用數字表達許可權)
    chmod [選項] [許可權修改] [檔案]
    4:讀
    2:寫
    1:執行
    7:全部
注意:如果只給一個數字表示修改o,兩個表示修改go
選項:
  -R:迭代修改

3.2 chgrp:修改使用者組
  格式:
    chgrp [選項] [組名] [檔案或目錄]
選項:
  -R:表達迭代修改
注意:檔案或目錄的所有使用者或所有組,都是以編號來查詢所有使用者或所有組
  如果不存在就顯示編號,存在顯示名稱

3.3 chown:修改所屬使用者
  格式:
    chown [選項] [組名] [檔案或目錄]
選項:
  -R:表達迭代修改

3.4 sudo:越權執行
  格式:
    sudo 命令
注意:sudo實際上去借root許可權執行命令(root對普通使用者分配了許可權)

  sudo -l:檢視當前許可權

3.5 visudo:修改配置檔案進行許可權分配(檔案所在位置/etc/sudoers)

  例如:普通使用者擁有root所有許可權
    

  1. 使用者名稱 ALL=(ALL) ALL
  2.     使用者名稱 ALL=(root) ALL 
  1. 例如:普通使用者只能執行一個命令
  1. 使用者名稱 ALL=(root)/bin/rm

可以同過vim /etc/sudoers修改許可權分配

4.查詢

4.1 find
  格式:

    find 開始查詢路徑 [選項] [條件]

選項:
  -name
    *表示匹配所有
    ?表示匹配一個
  例如:從/開始查詢字尾為.txt
    find / -name "*.txt"
    -type
    d:表示目錄
    f:表示檔案
  例如:從/開始查詢檔案
    find / -type f
    -size
    ll --block-size=單位
  例如:大小以k為單位進行顯示
    ll --block-size=k
注意:條件需要給上單位
  +表示大於
  -表示小於
  不給就是等於
  例如:從/開始查詢檔案大小大於2k
    find / -size +2k
    -user
    -group
2. more:
    空格鍵:檢視下一屏;

    回車鍵:往下滾動一行;

    b 鍵:往前檢視一屏;

    q 鍵:退出。

3. head:
    head -n filename表示檢視一個檔案的前n行,如果不指定n,則預設顯示前n行。

4.tail:
    tail file (顯示檔案file的最後10行)
    tail +20 file (顯示檔案file的內容,從第20行至檔案末尾)
    tail -c 10 file (顯示檔案file的最後10個字元)

二.Linux常見符號

1. 管道與grep

1.1  |:管道,把前面一部分的內容交給後面去處理

  例如:
    cat -n /etc/profile | more

1.2. grep:篩選
  格式:
    grep 篩選條件

      >>:追加,把命令1的結果寫入到命令2
  格式:
      命令1 >> 命令2
  例如:cat profile >> test.txt
    >:覆蓋
  格式:
    命令1 > 命令2
    例如:cat profile > test.txt

2. 軟體包管理
2.1 rpm:檢視 管理 刪除軟體
  格式:
    rpm [選項] [軟體名稱] [字尾]
  選項:
    -q:查詢
    -a:所有
    -qa:查詢所有
    -e:刪除
  字尾:
    --nodeps:無視依賴關係
注意:直接-e時,如果有依賴關係,不能直接刪除
  需要加上--nodeps字尾

2.2 tar:解壓和壓縮
  格式:
    tar [選項] [包] [路徑]
  選項:
    -c:壓縮
    -x:解壓
    -v:顯示
    -z:gzip
    -j:bzip
    -f:使用當前名稱
    -t:檢視

2.3 解壓:
  -C:指定解壓路徑
  例如:解壓jdk
    tar -zxvf jdk.tar.gz -C /usr/local/soft/
2.4 打包:
  例如:把jdk從新打包
    tar -cvf 包的所在位置加包的名稱 所要打包的內容

三.jdk的安裝

1.安裝位置
安裝包的位置/usr/local/module/
安裝jdk的位置/usr/local/soft/

2.配置環境變數

  1. vim /etc/profile

在最後的位置輸入

  1. export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
  2. export PATH=$PATH:$JAVA_HOME/bin

:wq儲存
2.1 重新整理檔案:

  1. source /etc/profile

2.2 檢視是否安裝jdk:

  1. java -version