Linux帳號管理與ACL許可權設定

來源:互聯網
上載者:User

Linux帳號管理與ACL許可權設定 1 Linux的帳號與群組1.1 UID和GIDUID:User ID;GID:Group ID;一個檔案的許可權,靠UID,GID來識別,UID與帳號之間的對應關係儲存在/etc/passwd裡面  www.2cto.com  1.2 /etc/passwd結構$ head -n 4 /etc/passwd root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/sh$cat /etc/passwd | grep minix007minix007:x:1000:1000:minix007,,,:/home/minix007:/bin/bash帳號名稱密碼(此欄位為x,真正的密碼放在/etc/shadow裡了)UID0:系統管理員1~499:系統帳號500~65535:可登入帳號  www.2cto.com  GID使用者資訊說明家目錄Shell1.3 /etc/shadow結構# cat /etc/shadow | grep minix007minix007:$6$Uk9abd2a7z.qWQQW0CNBsqeZvpx9UcyQ1:15597:0:99999:7:::帳號名稱加密後的密碼最近修改密碼的日期密碼不可變動的天數密碼需要變動的天數密碼需要變動前的警告天數密碼到期後帳號寬限天數帳號失效日期保留1.4 /etc/group結構$ head -n 4 /etc/grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:組名組密碼GID此組支援的帳號1.5 群組的一些概念初始群組:帳號一登入就成為此群組成員,這個屬性在/etc/passwd裡的GID確定非初始群組:除了初始群組外,一個帳號還會屬於其它群組,這就是由/etc/group裡此組支援的帳號確定有效群組:帳號所屬群組中的一個,如果帳號建立一個檔案,這個檔案的群組就由當前帳號的有效群組確定groups: 通過這個指令可以知道目前使用者帳號屬於哪些群組,第一個群組就是有效群組newgrp: 有效群組的切換1.6 /etc/gshadow結構# head -n 4 /etc/gshadowroot:*::daemon:*::bin:*::sys:*::組名密碼群組管理員帳號該群組所屬帳號2 帳號管理2.1 建立帳號useradd$useradd minix006 #按預設設定建立一個普通帳號$useradd -r matrix007 #建立一個系統帳號$useradd -D #顯示useradd預設值$ useradd -DGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no2.2 修改密碼passwd#passwd minix006 # root帳號修改其它帳號密碼$passwd # 自己修改自己密碼$passwd -S # 列出密碼參數(修改日期,失效日期 etc.)usermod#usermod -e "2013-10-10" minix006 # 設定minix006帳號的失效日期2.3 忘記密碼普通使用者忘記密碼:使用root帳號登入,再用passwd命令處理root使用者忘記:Live CD開機,掛載根目錄,修改/etc/passwd,將root密碼欄位清空,再開機後root無須密碼 即可登入,再用passwd修改root密碼。2.4 修改帳號資料userdel:刪除帳號資料chsh:修改shell2.5 查閱帳號資訊finger :查閱/etc/passwd裡的資訊id :查閱UID,GID資訊2.6 群組管理建立群組:groupadd修改群組資訊:groupmod刪除群組資訊:groupdel建立群組管理員:gpasswd3 主機的細部許可權規劃:ACL的使用3.1 什麼是ACLACL是Access Control List的縮寫,主要的目的是提供傳統的owner,group,others的read,write,execute 許可權之外的細部許可權設定,ACL可以針對單一使用者,單一檔案或者目錄來進行r,w,x許可權的設定,對於需要 有特殊許可權的使用狀況非常有協助。3.2 ACL的啟用查看ACL是否啟用$ mount/dev/sda7 on / type ext4 (rw,errors=remount-ro).../dev/sda10 on /home type ext4 (rw)...括弧裡沒有顯示acl,說明acl沒有啟用ACL的啟用# mount -o remount,acl /home這樣,再查看ACL是否啟用時,就會得到$ mount | grep home/dev/sda10 on /home type ext4 (rw,acl)3.3 ACL的設定getfacl$ touch testacl$ ll testacl -rw-rw-r-- 1 minix007 minix007 0  2月  4 16:42 testacl$ getfacl testacl  # file: testacl # owner: minix007 # group: minix007user::rw-group::rw-other::r--setfacl為特定使用者佈建許可權$ ll testacl -rw-rw-r-- 1 minix007 minix007 0  2月  4 16:42 testacl# setfacl -m u:minix007:rx testacl$ ll testacl -rw-rwxr--+ 1 minix007 minix007 0  2月  4 16:42 testacl*可以看到,testacl的許可權資訊已經和以前不同了4 使用者身份切換4.1 為什麼要身份切換平時用普通帳號,有特別需要再用root,可以避免對系統破壞運行軟體時,為此軟體佈建一個低許可權帳號,這樣即使這個軟體被攻破,也不至於影響整個系統4.2 身份切換方法su:任何身份切換完整切換到新身份:su -username只用root執行一次命令:su –c "指令串"由root切換到其它使用者時,無需密碼sudo5 使用者的特殊shell與PAM模組5.1 特殊的shell,/sbin/nologinnologin是一個特殊的shell,如果一個帳號的shell是nologin,那麼它是無法通過shell登入的,但是它可以使用 系統的資源,這樣就限制了這個帳號使用shell的權利。因為有些帳號是不需要使用shell的,分給它們會讓系統 陷入危險。5.2 PAM  www.2cto.com  一部主機上可能很多地方都需要驗證,他們有著不同的驗證機制,有的時候這可能造成一些混亂,比如 一致性問題,PAM是一套API,他提供了一系列驗證機制,只要使用者將驗證需要告訴PAM, PAM就能返回驗證的結果。5.3 passwd工作原理使用者使用passwd程式,輸入密碼passwd調用PAM模組驗證PAM模組到/etc/pam.d/尋找與passwd同名設定檔根據設定檔的設定,引用PAM模組驗證分析將驗證結果返回給passwdpasswd根據結果決定下面的動作6 Linux主機上使用者訊息傳遞who :目錄登入到系統的使用者$ whominix007   tty7         2013-02-04 14:52minix007   pts/2        2013-02-04 15:15 (:0.0)lastlog:所有賬戶最後登入時間使用者交談:write,mesg,mail 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.