Linux 學習筆記(3)

####1.用戶理解####
用戶就是系統使用者的身份
在系統中用戶存儲爲若干串字符+若干個系統配置文件
用戶信息涉及到的系統配置文件:
/etc/passwd    ###
用戶信息


用戶:密碼:uidgid:說明:家目錄:用戶使用的shell
/etc/shadow    ###
用戶認證信息
用戶:密碼:最後一次密碼修改該時間:最短有效期:最長有效期:警告期:非活躍期:帳號到期日

/etc/group     ###組信息
組名稱:組密碼:組id:附加組成員
/etc/gshadow       ###
組認證信息
/home/username     ###
用戶家目錄
/etc/skel/.*       ###
用戶骨架文件(shell 配置文件模板) 

####2.用戶管理####

1.
用戶建立
useradd   
參數        用戶名字
        -u  ##
指定用戶uid
        -g  ##
指定用戶初始組信息,這個組必須已經存在
        -G  ##
指定附加組,這個組必須存在
        -c  ##
用戶說明
        -d  ##
用戶家目錄
        -s  ##
用戶所使用的shell/etc/shells記錄了用戶能使用shell的名字
2.
用戶刪除
userdel     -r 
用戶名稱 -r表示刪除用戶信息及用戶的系統配置

3.
組的建立
groupadd   -g  ##
建立組
groupdel  
組名字  ##刪除組

作以上實驗的監控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls-l /mnt'


4.
用戶id信息查看
id 
參數    用戶
    -u  ##
用戶uid
    -g  ##
用戶初始組id
    -G  ##
用戶所有所在組id
    -n  ##
顯示名稱而不是id數字
    -a  ##
顯示所有信息




5.用戶信息更改
usermod
參數    用戶
    -l  ##
更改用戶名稱
    -u  ##
更改uid
    -g  ##
更改gid
    -G  ##
更改附加組
    -aG ##
添加附加組
    -c  ##
更改說明
    -d  ##
更改家目錄指定
    -md ##
更改家目錄指定及家目錄名稱
    -s  ##
更改shell
    -L  ##
凍結帳號
    -U  ##
解鎖



passwd凍結後,需兩次使用usermod解鎖,凍結程度更深
passwd -l username
passwd -u username


echo 密碼 | passwd --stdin username    ###管道方式修改用戶密碼(無需第二次密碼確認)



####3.
用戶權力下放####

1.
在系統中超級用戶可以下放普通用戶不能執行的操作給普通用戶
下放權力配置文件:/etc/sudoers

2.
下放權力的方法

vim  /etc/sudoers            ##一般不採用這種方式,當修改錯誤時,不會報錯。
*
)超級用戶執行visudo進入編輯/etc/sudoers模式    ## 修改錯誤時,會報錯
*
)格式:
獲得權限用戶    主機名稱=(獲得到的用戶身份)  命令
test    desktop60.example.com=(root)    /usr/sbin/useradd
test
用戶能在desktop60.example.com以超級用戶身份執行/usr/sbin/useradd

3.
執行下放權限命令
sudo   
命令    ##如果第一次執行sudo需要輸入當前用戶密碼
/etc/sudoers中如果設置如下:
test    desktop60.example.com=(root)     NOPASSWD
/usr/sbin/useradd
表示用戶調用sudo命令的時候不需要自己密碼


####4.
用戶認證信息的控制####


chage  
參數    用戶
    -d  ##
用戶密碼組後一次修改的時間,如果設定成0,用戶登陸系統後必須修改自己的密碼   
    -m  ##
最短有效期
    -M  ##
最長有效期
    -W  ##
警告期
    -I  ##
用戶非活躍天數
    -E  ##
帳號到期日格式 -E "YYYY-MM-DD"


####
文件權限####


####1.
文件屬性的查看####

ls -l file
-  | rw-r--r--. | 1 |  root | root | 0 |Jan  24 10:53 | file
1         2         3       4      5      6             7           8

1."-":
文件類型
-   ##
普通文件
d   ##
目錄
c   ##
字符設備
s   ##
套接字
p   ##
管道
b   ##
快設備
l   ##
連接

2."rw-r--r--":
文件讀寫權限
rw-|r--|r--
 *  $   @

*
所有人的權限
$
所有組的權限
@
其他人的權限

3."1":文件副本個數
對文件:文件內容被系統記錄的次數
對目錄:目錄中文件屬性的字節數

4."root":
文件所有人

5."root":
文件所有組

6."0":
文件內容的大小

7."Jan  24 10:53":
文件最後一次被修改的時間

8."file":文件名字


####2.
文件所有人所有組的管理####

chown   username      file|dir   ##
更改文件的所有人
chown   username:groupname file|dir   ##
更改所有人所有組
chown -R username      dir     ##
更改目錄本身及裏面所有內容的所有人
chgrp -R groupname     dir     ##
更改目錄本身及裏面所有內容的所有組


監控命令
watch -n 1 ls -lR /mnt

####3.
文件普通權限####
rw-|r--|r--
 u  g   o
u
:文件所有人對文件可以讀寫
g
:文件組成員對文件可讀
o
:其他人對文件可讀
u
優先匹配,g次優先,oug不匹配時匹配

1.r
對文件:可以查看文件中的字符
對目錄:可以查看目錄中文件的信息

2.w
對文件:可以更改文件內字符
對目錄:可以在目錄中添加刪除文件

3.x
對文件:可以運行文件內記錄的程序動作
對目錄:可以進入目錄中

4.
字符方式修改該文件權限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir

chmod u-x file1        ##file1
擁有者去掉x權限
chmod g+w file1        ##file1
擁有組添加w權限
chmod u-x,g+w file1        ##file1
擁有者去掉x權,file1擁有組添加w權限
chmod ugo-r file2      ##file2
的用戶組其他人去掉r權限
chmod ug+x,o-r file3       ##file3
用戶和組添加x權限,其他人去掉r權限

5.
數字方式修改該文件權限
linux
r=4
w=2
x=1
文件權限數字表示方式
rw-|r--|r--
 u  g   o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件權限表示爲644

chmod  
修改後權限值    file
chmod   777 file

7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---


####4.
系統默認權限的設定####

從系統存在角度來說,開放權力越大,系統存在意義越高
從系統安全角度來說,開放權力越少,系統安全性越高
所以系統設定新建文件或目錄會去掉一些權限
設定方式
umask      ##
查看系統保留權限默認爲022
umask 077  ##
修改該系統保留權限爲077,此設定爲臨時設定,只當前shell中生效

永久設定方式:
vim /etc/bashrc    ##shell       71行是普通用戶umask的更改,73行是超級用戶的更改
 70    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id-un`" ]; then
 71       umask 002    ##
普通用戶umask
 72    else
 73       umask 077    ##
超級用戶umask                                                                      
 74    fi

vim /etc/profile   ##
系統          60行是普通用戶umask的更改,62行是超級用戶的更改

 59 if [ $UID -gt 199 ] && ["`id -gn`" = "`id -un`" ]; then
 60    umask 002   ##
普通用戶umask
 61 else
 62    umask 077       ##
超級用戶umask                                                                                         
 63 fi

以上兩個文件umask設定值必須保持一致
source /etc/bashrc
source /etc/profile
讓設定立即生效


######5.文件的訪問控制(acl列表)######
1.acl定義
acl = access control 
指定特殊用戶對特殊文件有特殊權限
drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/
 ^
   表示/westos目錄時有權限列表


getfacl  /westos/


# file: westos/ ##文件名稱
# owner: root ##文件所有人
# group: root ##文件所有組
user::rwx ##擁有者權限
user:student:rwx ##特殊用戶權限
group::--- ##組權限
mask::rwx ##權限掩碼
other::--- ##其他人權限


注意:當文件上有權限列表時,ls -l 能看到的權限是假的




2設定acl列表


###設定##
setfacl -m <u|g>:<username|groupname>:權限 文件|目錄
-m #設定
u #用戶
g #組




##刪除列表中的用戶或者組####
setfacl -x <u|g>:<username|groupname> 文件|目錄


##關閉列表
setfacl -b 文件|目錄


###acl mask值###
1.mask 權限掩碼
mask用來標實能夠賦予用戶最大權限
當用chmod改變文件普通權限時可能會被破壞
修復
setfacl -m m:rwx 文件名稱


####acl 默認權限######
當我們需求某個目錄對於student可寫,並且目錄中新建的子目錄對student也可寫
就要設定默認默認權限


注意: 默認權限只對目錄中新建立的文件或者目錄生效,對已經建立的文件無效,
對於目錄本身也無效


setfacl -m d:u:student:rwx  /westos




####5.
特殊權限####
1.suid     ##
冒險位
只針對二進制可執行文件,
文件內記錄的程序產生的進程的所有人爲文件所有人
和進程發起人身份無關

設定方式:
chmod u+s file
suid=4
chmod 4xxx file

2.sgid     ##
強制位
對文件:只針對二進制可執行文件,
   
任何人運行二進制文件
   
程序時程序產生的進程的所有組都是文件的所有組
   
和程序發起人組的身份無關
對目錄:當目錄有sgid權限後,目錄中新建的所有文件的所有組
   
都自動歸屬到目錄的所有組之中,和文件建立者所在的組無關

設定方式:

chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
   
3.sticky   ##
粘制位
t
權限:
只針對與目錄,當一個目錄上有t權限,那麼目錄中的文件只能被所有人刪除

設定方式:
chmod o+t direcotry
t=1
chmod   1777 direcotry


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章