1. 程式人生 > >Linux命令:賬戶與安全

Linux命令:賬戶與安全

1.賬戶與組的概念

Linux系統對帳號與組的管理通過ID號實現,在登陸系統時,輸入的使用者名稱與密碼,會自動將使用者名稱轉化為ID號判斷賬號是否存在,然後對比密碼是否匹配。 Linux中,使用者ID號稱作UID,組ID號稱作GID。UID=0代表超級管理員,即root賬號,1~499間的ID號系統會預留,我們建立的普通使用者的UID號從500起,我建立的student使用者的UID為1000。 Linux中的組分為基本組和附加組,一個使用者同一時刻僅可加入一個基本組,但可同時加入多個附加組,預設建立使用者是,會自動建立同名的組

2.建立賬戶及組

  • useradd 建立新賬號 用法:useradd [選項] 使用者名稱稱 -c 設定賬號描述資訊,一般會賬號全稱. -d 設定家目錄,預設/home/使用者名稱 -e 設定賬戶失效日期,格式YYYY-MM-DD -g 設定賬戶基本組 -G 設定賬戶的附加組,多個附加組間用逗號隔開 -M 不能建立賬戶家目錄,一般和-s結合使用 -s 設定賬戶的登陸shell,一般預設hu-s -u 指定賬戶UID 例:$ useradd student #建立普通賬戶student,以及對應組 $ useradd -c administrator -d /home/adimin -e 2013-12-24 \ -g root -G bin, adm, mail admin 建立普通使用者,名為admin,全名為administrator,賬戶家目錄為/home/admin,賬戶失效日期2017-12-24,賬戶基本組為root,附加組為bin、adm、mail 。

  • groupadd 建立組賬戶 用法:groupadd [選項] 組名稱 -g 設定組ID號 $ groupadd tom $ groupadd -g 1000 jerry #建立GID為1000的組jerry.

  • id 顯示賬戶及組資訊 $ id root # 檢視root賬戶及相關組資訊

3.修改賬戶及組

  • passwd 更新賬號認證資訊 用法:passwd [選項] [賬戶名稱] -l 鎖定賬戶,僅root可用 –stdin 從檔案或管道讀取密碼 -u 解鎖賬戶 -d 快速清空賬戶密碼,僅root可用 $ passwd tom #指定修改tom的密碼 $ echo “qwer0987” | passwd --stdin tom #設定tom的密碼為qwer0987 $ pass -l tom #鎖定賬戶tom

  • usermod 修改賬戶資訊 用法:usermod [選項] 賬戶名稱 -d 修改賬戶家目錄 -e 修改賬戶失效日期 -g 修改賬戶所屬基本組 -G 修改賬戶所屬附加組 -s 修改賬戶登入Shell -u 修改賬戶UID $ usermod -d /home/tomcat tom #修改tom的家目錄,/home/tomcat目錄必須存在 $ usermod -g mail tom #修改賬戶tom的基本組為mail $ usermod -u 1001 tom #修改賬戶tom的UID為1001

3.刪除賬戶及組

userdel 刪除賬戶及相關檔案 用法:underdel [選項] 賬戶名稱 -r 刪除賬戶及相關檔案 $ userdel tom $ userdel -r tom #刪除賬戶tom,並刪除相應家目錄

groupdel 刪除組賬戶 $ groupdel jerry #刪除組jerry.

4.賬戶與組檔案解析

1.賬戶資訊被儲存在/etc/passwd檔案中,cat /etc/passwd檢視: 在這裡插入圖片描述 檔案以“:”為分隔符,1~4列分別表示賬戶名稱、密碼佔位符、賬戶UID、GID,第5列為賬戶附加基本資訊,一般儲存賬戶名全稱,聯絡方式等,第6列為賬戶家目錄位置,第7列為賬戶登入Shell,/bin/bash為可登入系統Shell,/sbin/nologin表示無法登陸。 2.賬戶密碼資訊被儲存在/etc/shadow檔案中,cat /etc/shadow

檔案以“:”為分隔符,1~9列分別表示賬戶名稱、密碼、上次修改密碼距1970/01/01日有多少天、密碼最短有效天數(0代表無限)、密碼最長有效天數(預設99999天,即永久)、過期前警告天數(預設7天)、密碼過期後寬限天數、賬戶失效日期、保留未使用

3.組賬戶資訊檔案,cat /etc/group檢視

檔案以“:”為分隔符,1~4列分別表示組賬戶名稱、密碼佔位符、GID、組成員資訊(這裡僅顯示附加成員)

4.組賬戶密碼檔案 檔案以“:”為分隔符,1~4列分別為組賬號名稱、組密碼、組管理員、組成員 <gpasswd 組名>為組設定初始密碼 <gpasswd -A 賬戶名稱 組賬戶名稱>為組新增管理員 $ gpasswd admin #設定組密碼 $ gpasswd -A mail admin #將mail賬戶設定為組admin的管理員

4.檔案及目錄許可權

Linux許可權主要分為讀、寫、執行三種控制,ls -l檢視檔案或目錄時,會顯示為r ,w,x rwxrwxrwx表示文件的所有者(user)、組(group)、其他賬戶(other)許可權均為rwx,rwxr–r--表示文件所有者許可權為讀寫執行,所屬組許可權為只讀

  • chmod 改變檔案或目錄許可權 用法:chmod [選項] 許可權 檔案及目錄 –reference=RFILE #根據參考問但設定許可權 -R #遞迴將許可權應用於所有的子目錄與檔案 chmod在命令引數中,u代表所有者,g代表所屬組,o代表其他使用者,a代表所有人 $ ls -l westos.all $ chmod u=rwx,g=rwx,o=rwx westos.all $ chmod a=rw westos.all 通過+/-許可權方式修改許可權 $ chmod g-x,o-wx westos.all 數字方式修改許可權 r=4,w=2,x=1,注意為rwx的數字之和為一組 $ chmod 700 westos.all # 修改檔案許可權為rwx------ $ chmod 644 westos.all # 修改檔案許可權為rw-r–r-- $ chmod 755 westos.all # 修改檔案許可權為rwxr-xr-x 以其他文件作為參考修改許可權 $ chmod --reference=install.log.syslog install.log #以install.log.syslog為標準修改install.log

chown 修改檔案或目錄的所有者與所屬組 用法: chown [選項] [所有者][:[所屬組]] 檔案或目錄 -R #遞迴將許可權應用於所有的子目錄與檔案 $ chown user2:mail install #修改檔案的所有者為user2,所屬組為mail $chown :root install #僅修改檔案所屬組為root $chown root install #僅修改檔案所屬者為root