顯示具有 LINUX-帳號管理 標籤的文章。 顯示所有文章
顯示具有 LINUX-帳號管理 標籤的文章。 顯示所有文章

開啟使用者sudo權限

1) 進入超級使用模式。
[xxx@localhost ~]$ su -
Password:
Last login: Sat Mar 31 11:09:36 CST 2018 on pts/2
[root@localhost ~]#

2) 添加文件的寫權限。
[root@localhost ~]# chmod u+w /etc/sudoers

3) 編輯/etc/sudoers文件。找到這【root ALL=(ALL) ALL】,在下一行添加"xxx ALL=(ALL) ALL"(這裡的xxx是你的用戶名),然後存檔(wq)。
[root@localhost ~]# vim /etc/sudoers
root ALL=(ALL) ALL
xxx ALL=(ALL) ALL

4) 添撤銷文件的寫權限。 [root@localhost ~]# chmod u-w /etc/sudoers

帳號管理-新增管理者

root 帳號一直是帳號管理最頭痛的問題,因為這個帳號一定存在,所以當服務某些啟動時,就必須設定限制以 root 身份執行或登入,例如 SSH 登入。

因此我們可以新增一名新使用者,授予 root 相同權限後,再將 root 密碼鎖定。

# useradd -u 0 -g 0 -d /root -r -o Kagemusha
# passwd Kagemusha
# passwd -l root
 Locking password for user root.
 passwd: Success

補充:參數定義
  • -u:root 的 uid 為『0』
  • -g:root 的 gid 為『0』
  • -d:指到 root 的家目錄
  • -r:建立系統帳號
  • -o:允許共同 uid 及 gid

  • root 密碼解除鎖定 # passwd -u root
     Unlocking password for user root.
     passwd: Success

    帳號管理-新增使用者預設值

    新增使用者時,用戶資訊及密碼資訊的預設值是參考以下2個檔案的內容。
    1. /etc/login.defs
    2. /etc/default/useradd
    login.defs內容 # grep -v -E '^#|^$' /etc/login.defs
     MAIL_DIR /var/spool/mail
     PASS_MAX_DAYS 99999
     PASS_MIN_DAYS 0
     PASS_MIN_LEN 5
     PASS_WARN_AGE 7
     UID_MIN 500
     UID_MAX 60000
     GID_MIN 500
     GID_MAX 60000
     CREATE_HOME yes
     UMASK 077
     USERGROUPS_ENAB yes
     ENCRYPT_METHOD MD5
     MD5_CRYPT_ENAB yes

    補充:PASS_MAX_DAYS、PASS_MIN_DAYS和PASS_WARN_AGE作用可參考帳號管理-/etc/passwd 和 /etc/shadow 結構

    /etc/default/useradd內容 # cat /etc/default/useradd
     # useradd defaults file
     GROUP=100
     HOME=/home
     INACTIVE=-1  // -1表示不啟動
     EXPIRE=
     SHELL=/bin/bash
     SKEL=/etc/skel
     CREATE_MAIL_SPOOL=yes

    補充:SKEL參數作用就好像是範本,定義新增使用者家目錄的內容。
    範例:
    # cd /etc/skel/
    # mkdir example
    # touch example.txt
    # useradd user1
    # su - user1
    $ ll
     total 4
     drwxr-xr-x. 2 user1 user1 4096 Nov 16 15:17 example
     -rw-r--r--. 1 user1 user1 0 Nov 16 15:17 example.txt

    帳號管理-/etc/passwd和/etc/shadow結構

    Linux 身份認證的資訊,都放在 /etc/passwd 和 /etc/shadow,很多應用程式也會讀取這 2 個檔案,例如 ls。

    /etc/passwd 結構:用戶資訊

    User-Name:Encrypted-Password:UID:GID:Comment:$HMOE:$SHELL
    範例:apacheserver:x:500:500::/home/apacheserver:/bin/bash
    User-Name:apacheserver
    Encrypted-Password:x  // 密碼是放在 /etc/shadow,因為很多程式會讀這個內容,放在此處風險太高。
    UID:500
    GID:500
    Comment(GECOS):
    $HOME:/home/apacheserver
    $SHELL:/bin/bash

    /etc/shadow 結構:密碼資訊

    欄位 1:欄位 2:欄位 3:欄位 4:欄位 5:欄位 6:欄位 7:欄位 8:欄位 9

    欄位 1:使用者名稱
    欄位 2:加密後的密碼
    欄位 3:最近一次更改密碼日期
    欄位 4:限制密碼變更天數(PASS_MIN_DAYS),0 表示無限制
    欄位 5:限制密碼可使用天數(PASS_MAX_DAYS)
    欄位 6:密碼過期前警告天數(PASS_WARN_AGE)
    欄位 7:密碼過期後寬限時間(inactive)
    欄位 8:帳號失效日期(expiration)
    欄位 9:保留

    補充:使用date計算日期,因為沒有excel可以用XD。
    # date -d '19700101 15631 days'
     四 10月 18 00:00:00 CST 2012

    範例:apacheserver:$1$eSDh1dqo$1rEoTHCvdrVXvQQEONymx0:15631:5:30:7:3:15705:
    使用者名稱:apacheserver
    加密後的密碼:$1$eSDh1dqo$1rEoTHCvdrVXvQQEONymx0
    最近一次更改密碼日期:15631  // 這裡顯示的是天數,日期為 2012-10-18,從 1970-01-01 開始計算
    限制密碼變更天數:5  // 表示到 2012-10-23 都不能變更密碼。
    限制密碼可使用天數:30  // 表示 2012-11-17 以前必須變更密碼,不然原密碼就會失效。
    密碼過期前警告天數:7  // 表示 2012-11-10 至 2012-11-17,這 7 天只要登入系統,就會看到警告訊息。
    密碼過期後寬限時間:3  // 表示更改密碼的日期延後 3 天至 2012-11-20。
    帳號失效日期:15705  // 密碼失效日期為 2012-12-31,這裡顯示的是天數,從 1970-01-01 開始計算。

    ls 使用 /etc/passwd 範例: # ll
     drwx------. 29 apacheserver apacheserver 4096 Oct 23 11:15 apacheserver
    # vim /etc/passwd
     apacheserver:x::500::/home/apacheserver:/bin/bash  // 拿掉 uid
    # ll
     drwx------. 29 500 apacheserver 4096 Oct 23 11:15 apacheserver

    解除root執行google Chrome限制

    Chrome 載點

    在 root 身份安裝完成後,開啟 Chrome browser 會出現以下訊息,google 告訢你,如果一定要以 root 身份開啟 Chrome browser,請加入下的參數 --user-data-dir


    參數 --user-data-dir,是要讓你把 Chrome browser 的暫存資料,放在別的資料夾底下,不要放在 root 的家目錄底下,是 google 貼心的小限制。

    新增暫存目錄
    # mkdir /opt/root
    編輯 chrome 圖示屬性


    在 %U 之後加上 --user-data-dir=/opt/root


    再點選 chrome 圖示,即可正常開啟