用戶組和權限管理

一、3A認證

    Authentication:認證

    Autherization:授權

    Accoutiong|Audition:審計

二、用戶user 

    linux用戶:username/UID

    管理員:root,uid為0

    普通用戶:1-65535

        系統用戶:1-499(CentOS6),1-999(CentOS7)

            對守護進程獲取資源進行權限分配

        登錄用戶:500+(CentOS6),1000+(CentOS7)

            交互式鞥路

    touch /etc/nologin,除了root用戶都不讓登錄

三、組group

    linux組:groupname/GID

    管理員組:root,gid為0

         系統組:1-499(CentOS6),1-999(CentOS7)

         普通組:500+(CentOS6),1000+(CentOS7)

    存放在:/etc/login.defs

    安全上下文:(security context)

        運行中的程序:進程(process)

        以進程發起者的身份運行,進程所能夠訪問資源取決于進程的運行者的身份。

    組的類別:

        用戶的主要組:主組(primary group)

            用戶必須屬于一個且只有一個主組

            組名同用戶名,且僅包含一個用戶:私有組

        用戶的附加組:輔助組(secondart group)

            一個用戶可以屬于零個或多個輔助組

    查看用戶所在組信息:groups username     

[user1@localhost dir]$ groups user1
user1 : user1 wang

    查看用戶uid,組的gid:id username     

[user1@localhost dir]$ id user1
uid=1003(user1) gid=1003(user1) groups=1003(user1),1005(wang)

四、用戶和組的配置文件

    /etc/passwd:用戶及其屬性信息 

    /etc/group:組及其屬性信息   

    /etc/shadow:用戶密碼及其相關屬性

    /etc/gshadow:組密碼及其相關屬性

    

    passwd文件格式

        login name:登錄用戶

        passwd:密碼(x)

        uid:用戶身份編號

        gid:登錄默認所在組編號

        gecos:用戶全名或注釋

        home directory:用戶家目錄

        shell:用戶默認使用shell

[root@localhost testdir]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

    shadow文件格式

        登錄用戶名

        用戶密碼:一般用sha512加密

        從1970年1月1日其到密碼最近一次被改變的時間

        密碼再過幾天可以被變更(0表示隨時可被變更)

        密碼再過幾天必須被變更(99999表示永不過期)

        密碼過期前幾天系統提醒用戶(默認為一周)

        密碼過期幾天后帳號會被鎖定

        從1970年1月1日算起,多少天后帳號失效

[root@localhost testdir]# cat /etc/shadow
root:$6$2mjLumhZ$RDpz5SHbdHapxz4MyOX90KQG3pUVGYi5ZJcJMCgFIJCnz75n9YsHxb2xFGKaMel2NARB7VKlrJmZuW5F7Hsgp1:17008:0:99999:7:::

    group文件格式

        群組名稱

        群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow

        gid:就是群組的id

        以當前組為附加組的用戶列表(分隔符為逗號)

[root@localhost testdir]# cat /etc/group
root:x:0:

    gshadow文件格式

        群組名稱

        群組密碼

        組管理員列表:組管理員的列表,更改組密碼個成員

        以當前組的附加組的用戶列表(分隔符為逗號)

[root@localhost testdir]# cat /etc/gshadow
root:::

五、密碼加密

    加密機制

        加密:明文–>密文

        解密:密文–>明文

    單項加密:哈希算法,原文不通,密文必不通

    相同估算法定長輸出,獲得密文不可逆推出原始數據

    雪崩效應:初始條件的微小改變,引起結果的巨大改變。

        md5:128bits

        sha1:安全哈希算法(secure hash algoritm)160bits

        sha224:224bits

        sha256:256bits

        sha384:384bits

        sh512:512bits

    更改加密算法:authconfig –passalgo=md5 –update

    

    密碼的復雜性策略

        使用數字,大寫字母,小寫字母及特殊字符中至少三種

        足夠長

        使用隨機密碼

        定期更換,不要使用曾經使用過的密碼

    

六、更改文件操作

    vipw和vigr 當安全格式不對,退出時會報錯

    pwck和grpck 檢查語法

七、用戶管理命令

    用戶管理命令

        useradd:創建用戶

        usermod:修該用戶信息

        userdel:刪除用戶

    組帳號管理命令

        groupadd:創建組

        groupmod:修改組信息

        groupdel:刪除組

    

    用戶創建useradd

        useradd option username

            -u:uid

            -o:配合-u選項,不檢查uid的唯一性

            -g:gid,指明用戶所屬主組,可為組名

            -c:用戶的注釋信息

            -d:以指定的路徑(不存在)為家目錄

            -s 指明用戶的默認shell 

            -G:為用戶指明附加組,組必須事先存在

            -N:創建用戶不創建主組,使用users組做主組

            -r:創建系統用戶

[root@localhost testdir]# useradd -u 1000 -g test -c "iamwang" -d /home/wang -s /bin/bash wang
[root@localhost testdir]# getent passwd wang
wang:x:1000:1004:iamwang:/home/wang:/bin/bash

        默認值設定存放在:/etc/default/useradd

            顯示或更改默認設置:useradd -D

[root@localhost testdir]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

        新建用戶的相關文件

            /etc/default/useradd

            /etc/skel/*

            /etc/login.defs

        批量創建用戶命令

            newusers userfile

            cat passwdfile | chpasswd

            

    用戶屬性修改

        usermod option username

            -u:uid

            -g:主組

            -G:附加組,原來的附加組將會被覆蓋,若想保留原有附加組,要同事使用-a選項,表示附加。

            -s:shell

            -c:用戶注釋

            -d:家目錄不會自動創建,原家目錄中的文件不會同時移動到新的家目錄,若創建家目錄并移動原家數據,同時使用-m選項

            -l:新用戶名

            -L:lock指定用戶,在/etc/shadow密碼欄增加!

            -U:unlick指明用戶,將/etc/shadow密碼欄的!去掉

            -e 年-月-日:指明用戶口令過期時間

            -f:設定非活動期限

[root@localhost testdir]# usermod -u 1111 -g root -s /bin/csh -c "iamlaowang" -l laowang -d /testdir/wang -m wang
[root@localhost testdir]# getent passwd laowang
laowang:x:1111:0:iamlaowang:/testdir/wang:/bin/csh

    刪除用戶

        userdel option username

            -r:刪除用戶家目錄

[root@localhost testdir]# userdel -r laowang

    查看用戶相關的id信息

        id option username

            -u:uid

            -g:gid

            -G:組

            -n:名字

    用戶相關的其他命令

        chfn:指定個人信息

        chsh:指定shell

        finger

八、切換用戶或其他用戶身份執行命令

    su option – username

    切換用戶的方式:

        su username:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄,保留當前用戶的工作環境

        su – username:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換

    root su 至其他用戶無需密碼,非root用戶切換是需要密碼

    換個身份執行命令

    su – username -c ‘command’

九、設置密碼

    passwd option username 修改指定用戶的密碼,僅root用戶權限

    passwd 改變自己密碼

        -l:鎖定指定用戶

        -u:解鎖指定用戶

        -e:強制用戶下次登錄修改密碼

        -n mindays:最短使用期限

        -x maxdiys:最大使用期限

        -w warndats:提前多少天開始警告

        -i inactivedats:非活動期限

        –stdin:從標準輸入接受用戶密碼

            ehco“passwd” | passwd –stdin username

十、修改用戶密碼策略

    chage option login

        -d:最后一天

        -E:–expiredate 有效期

        -I:– inactive 非活動期限

        -m:–mindays 最短使用期限

        -M:–maxdays 最大使用期限

        -W:–warndays 提錢多少天開始警告

        -l:顯示密碼策略

    下一次登錄強制重設密碼

        chage -d 0 username

        chage -m 0 -M 42 -W 14 -I 7 username

        chage -E 年-月-日 username

十一、組管理命令

    創建組

        groupadd option groupname

            -g:指定gid號

            -r:創建系統組

[root@localhost testdir]# groupadd -g 1234 wang
[root@localhost testdir]# getent group wang
wang:x:1234:

    組屬性修改

        groupmod option groupname

            -g:gid號

            -n:新名字

[root@localhost testdir]# groupmod -g 4321 -n laowang wang
[root@localhost testdir]# getent laowang
Unknown database: laowang

    組刪除

        groupdel groupname

[root@localhost testdir]# groupdel laowang

十二、更改組密碼,添加和移除組成員

    gpasswd option username groupname

        -a username:將用戶添加至指定組中

        -d username:從指定組中移除用戶user

        -A user1,user2:設置用管理權限的用戶的列表

groupadd laowang
[root@localhost testdir]# useradd xiaowang
[root@localhost testdir]# gpasswd -a xiaowang laowang
Adding user xiaowang to group laowang
[root@localhost testdir]# getent group laowang
laowang:x:1006:xiaowang
[root@localhost testdir]# gpasswd -d xiaowang laowang
Removing user xiaowang from group laowang
[root@localhost testdir]# getent group laowang
laowang:x:1006:

    newgrp:臨時切換基本組

        如果用戶本不屬于此組,則需要組密碼

十三、更改和查看組成員

    groupmems option action

         option

            -g:–group groupname 更改為指定組(只有root)

        action

            -a:–add username 指定用戶加入組

            -d:–delete username 從組中刪除用戶

            -p:–purge 從組中清除所有成員

            -l:–list 顯示組成員列表

    查看用戶所屬組列表:groups option username

十四、文件權限

    修改文件的屬性

        chown option owner:group file

[root@localhost testdir]# touch file1
[root@localhost testdir]# ll file1
-rw-r--r-- 1 root root 0 Aug  4 03:30 file1
[root@localhost testdir]# chown 1:wang file1
[root@localhost testdir]# ll file1
-rw-r--r-- 1 1 wang 0 Aug  4 03:30 file1

        chown option –reference=rfile file  參考rfile,把file屬主改成與rfile一樣

[root@localhost testdir]# touch file2
[root@localhost testdir]# ll file2
-rw-r--r-- 1 root root 0 Aug  4 03:32 file2
[root@localhost testdir]# chown --reference=file1 file2
[root@localhost testdir]# ll file2
-rw-r--r-- 1 1 wang 0 Aug  4 03:32 file2

        命令中的冒號可用.代替

            -R:遞歸

    

    修改文件屬組

        chgrp potion group file

[root@localhost testdir]# touch file1
[root@localhost testdir]# ll
total 0
-rw-r--r-- 1 root root 0 Aug  4 03:33 file1
[root@localhost testdir]# chgrp wang file1
[root@localhost testdir]# ll
total 0
-rw-r--r-- 1 root wang 0 Aug  4 03:33 file1

        chgrp option –reference=rfile file  參考rfile,把file屬組改成與rfile一樣

[root@localhost testdir]# touch file2
[root@localhost testdir]# ll file2
-rw-r--r-- 1 root root 0 Aug  4 03:35 file2
[root@localhost testdir]# chgrp --reference=file1 file2
[root@localhost testdir]# ll
total 0
-rw-r--r-- 1 root wang 0 Aug  4 03:33 file1
-rw-r--r-- 1 root wang 0 Aug  4 03:35 file2

            -R:遞歸

    

      owner 修改所有者

      owner:group修改所有者和所屬組

      :group 修改所屬組

    文件的權限主要針對三類對象進行定義

        owner:屬主,用u來表示

        group:屬組,用g來表示

        other:其他,用o來表示

    每個文件針對每類訪問者都定義了三種權限

        r:Readable

        w:Writable

        x:eXcutable

    三種權限對文件和目錄的意義

        文件

            r:可使用文件查看類工具獲取其內容

            w:可修改內容,但不能刪除文件本身

            x:針對二進制程序或腳本,可以把次文件提請內核啟動為一個進程

            X:本身沒有x權限,將不會增加

        目錄

            r:可以查看文件列表,但不能訪問文件,不能進入目錄,也不能查看文件的元數據

            w:可以創建或刪除目錄中文件,

            x:可以進入目錄,可以訪問目錄中文件

            X:與x等價

十五、修改文件權限

    chmod option catalmode file  八進制數值修改權限

[root@localhost testdir]# ll
total 0
-rw-r--r-- 1 root wang 0 Aug  4 03:33 file1
-rw-r--r-- 1 root wang 0 Aug  4 03:35 file2
[root@localhost testdir]# chmod 777 file1
[root@localhost testdir]# ll
total 0
-rwxrwxrwx 1 root wang 0 Aug  4 03:33 file1
-rw-r--r-- 1 root wang 0 Aug  4 03:35 file2

    chmod option mode file  mode修改權限

[root@localhost testdir]# chmod ug+x file2
[root@localhost testdir]# ll
total 0
-rwxrwxrwx 1 root wang 0 Aug  4 03:33 file1
-rwxr-xr-- 1 root wang 0 Aug  4 03:35 file2

        mode:

            修改一類用戶的所有權限

            u=主,g=組,o=其他,a=所有

            修改用戶的所有權限

            u+u-,g+g-,o+o-,a+a-,

        -R:遞歸

    chmod option –reference=rfile file  參考rfile文件的權限,將file的權限修改為同file的權限

[root@localhost testdir]# ll
total 0
-rwxrwxrwx 1 root wang 0 Aug  4 03:33 file1
-rwxr-xr-- 1 root wang 0 Aug  4 03:35 file2
[root@localhost testdir]# chmod --reference=file1 file2
[root@localhost testdir]# ll
total 0
-rwxrwxrwx 1 root wang 0 Aug  4 03:33 file1
-rwxrwxrwx 1 root wang 0 Aug  4 03:35 file2

十六、新建文件和目錄的默認權限

    umask從目錄或文件上屏蔽掉最大相應的位,從而得出默認權限

    umask值,可以用來保留在創建文件權限

    新建文件權限:666-umask

        如果所得結果某位存在奇數權限,則將其權限+1

    新建目錄權限:777-umask

    非特權權限用戶umask是002

    root的umask是022

        umask:查看

        umask 八進制數值:設定

        umask -S:以模式的方式顯示

        umask -p:輸出可被調用

    全局設置存放在/etc/bashrc

    用戶設置存放在~/.bashrc

[root@localhost testdir]#  umask
0022
[root@localhost testdir]#  umask -S
u=rwx,g=rx,o=rx
[root@localhost testdir]# umask 111
[root@localhost testdir]#  umask
0111

原創文章,作者:DYW,如若轉載,請注明出處:http://www.www58058.com/28903

(0)
DYWDYW
上一篇 2016-08-04 21:40
下一篇 2016-08-04 22:14

相關推薦

  • FHS文件系統以及各目錄功能

    FHS:Filesystem Hierarchy Standard(文件系統目錄標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理,規范在根目錄(/)下面各個主要目錄應該放什么樣的文件。 …

    Linux干貨 2016-10-17
  • 淺述sed命令

    1、sed工作原理       sed(stream editor)是一種流編輯器,本身也是一個管道命令,可以分析編輯標準輸入(standard input),包括對數據進行替換、刪除、新增、選取特定行等等。運行時以行為單位,每次只處理一行的內容,因此它又被稱為行編輯器。sed還可與正則表達式配合使用,從而簡…

    Linux干貨 2016-08-10
  • nginx配置(一)

    Nginx:http協議:web服務器(類似于httpd)、http reverse proxy(類似于httpd)、imap/pop3 reverse proxy NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/…

    Linux干貨 2017-05-05
  • 文件共享服務之SAMBA

    文件共享服務之SAMBA 文件共享服務之SAMBA 一、samba出現的意義 二、samba協議描述 三、samba為客戶端的實現 四、samba為服務端的實現 五、使用圖形界面配置SAMBA 一、samba出現的意義 首先nfs實現系統文件掛載linux與linux之間,linux到windows之間實現的并不是那么理想 FTP可以實現linux和wind…

    Linux干貨 2016-04-19
  • N26_第一周作業

    一、描述計算機的組成及其功能。 計算機系統:是由硬件(Hardware)系統和軟件(Software)系統兩大部分構成。 1、硬件系統: 1)控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。2)運算器(Datapath):運算器的功能是…

    2017-02-20
  • 快速搭建SVN服務器

    一、背景介紹 svn服務器是一款上傳代碼的工具(貌似這么說不怎么嚴謹,但是在日常工作中基本上是這么用的),今天一個小伙伴折騰了一天也沒有搭建好這個svn服務器。各種問題,其實搭建SVN服務器最重要的就是三個配置文件(svnserver.conf、 passwd 、authz)。出了問題的話十有八九是這三個配置文件的問題。最后,我自己搭建了一個,測試成功。于是…

    Linux干貨 2016-12-11
欧美性久久久久