day6總結

主要內容:

useradd與usermod對比

groupadd與groupmod對比

passwd與chage對比

gpasswd與groupmems對比

切換用戶

chown與chgrp用法

一般權限與特殊權限

chmod用法


 

useradd創建用戶的初始信息存放在/etc/login.defs/etc//default/useradd文件中。

   /etc/login.defs: 設置mail_dir目錄、mail_file、密碼最短時效,最長時效,警告時間,最小的UID,最大的UID。最大的GID以及最小的GID,是否創建家目錄,umask。

 

   /etc/default/useradd: 默認shell,家目錄,skel目錄,是否創建郵件目錄。

注:家目錄從/etc/skel/文件中復制文件。

 

4個配置文件:

/etc/passwd 用戶信息 用戶名:密碼:用戶id:組id:注釋:家目錄:bash

當用戶有附加組時,是否會顯示?不會顯示,會顯示在/etc/group中

/etc/group 組信息    組名:組id:密碼:以該組為附加組的用戶

/etc/shadow       用戶名:密碼:最近一次修改時間:最小使用時間:最大使用時間:警告時間

/etc/gshadow  組名:密碼:管理員賬戶:以該組為附加組的用戶名。  

 

newusers passwd格式的文件:批量創建用戶

chpasswd 批量修改用戶密碼

 

useradd用法與usermod用法對比

useradd用法

usermod用法

-u   UID

指定新建用戶的UID

-u UID 

修改新UID

-g   GID

指定新建用戶的GID,必須存在

-g GID

修改新GID

-d HOME_DIR

指定家目錄

-d HOME 

修改家目錄,-m搬過來

-s  SHELL

指定shell

-s SHELLS

修改shell

-G  grp1,grp2

添加附加組

-l login_name 

新的名字

-N

不創建私用組做主組

-L 

鎖定指定用戶,密碼欄增加!

 -r

創建系統用戶

-U 

-U解鎖用戶,密碼欄減少!

 -o

解除uid唯一性限制

-e 

指明用戶賬戶過期日期

 -c comment

注釋

-f

設定非活動期限

useradd -N user:創建一個用戶user,不創建私用組作為主組,而使用users組作為主組。

userdel [option] …login:刪除指定用戶

-r刪除指定用戶,包括家目錄。

 

id [option]… user

-u:UID    查看用戶的UID

-g:GID    查看用戶的GID

-G:Groups  查看用戶的組

-n:Name   查看用戶的名字

 

su  [options] [-] [user]

切換用戶方式:

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

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

 

使用另一個用戶執行命令:

su – UserName -c COMMAND

 

passwdchage用法對比

passwd用法

chage用法

-l

鎖定指定用戶

-l

顯示密碼策略

-u

解鎖指定用戶

-d

last_day

-e

強制用戶下次修改密碼

-E

過期時間

-n

密碼最短使用期限

-m

密碼最小使用期限

-x

密碼最大使用期限

-M

密碼最大使用期限

-w

提前多少天開始警告

-W

提前多少天開始警告

-i

非活動期限

-I

非活動期限

–stdin

從標準輸入接收密碼

chage -d 0 test1:下次登錄強制重設密碼。

 

groupadd

groupadd -g GID :創建組時指明GID

-r:創建系統組

groupmod

-n group_name:新名字

-g GID:新的GID

組刪除:

groupdel group:當有組中有用戶時,無法進行刪除。

 

gpasswdgroupmems用法對比

gpasswd用法

groupmems用法

-a user group

user添加到指定組中

-a user

指定用戶加入組中

-d user group

從指定組中移除user

-d user

從組中刪除指定用戶

-A user1,user2

設置有管理權限的user

-p

從組中清空用戶

-l

顯示組成員列表

newgrp:臨時切換組。

groups username:查看用戶屬組信息。

 

文件權限:

chown:設置文件的所有者

chown [option]…[owner][:group] file:

chown user file修改屬組

chown user : group file 也可以同時修改屬組

chown :group file 也可以單獨修改屬組

-R 遞歸

chown –reference=RFILE FILE….  修改為與文件同樣的權限。

 

chgrp:設置文件的屬組信息。

chgrp [option] …group file:修改文件屬組。

chgrp [option]…–reference=RFILE FILE..

-R 遞歸

 

文件的權限主要針對三類對象進行定義: owner: 屬主, u group: 屬組, g other: 其他 每個文件針對每類訪問者都定義了三種權限: r: Readable w: Writable x: eXcutable

 

文件:

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

w: 可修改其內容 

x: 可以把此文件提請內核啟動為一個進程 ? 

目錄:

r: 可以使用ls查看此目錄中文件列表 

w: 可在此目錄中創建文件,也可刪除此目錄中的文件 

x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄 

X:只給目錄x權限,不給文件x權限

chmod用法:

chmod [options] 八進制數字(3位)file

-R:遞歸修改權限。

 

chmod [options] 字母模式 file

修改一類用戶所有權限。

u=,g=,o= ,a= 

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

 

chmod [options] –reference=RFILE FILE

 

新建文件和目錄的默認權限:

umask:設置用戶創建文件的默認權限。

新建FILE默認權限:666-umask

如果所得結果某位為奇數(存在執行位),權限加1

新建DIR權限:777-umask

非特權用戶umask002

rootumask022

umask:查看umask

umask 3位數字:設定umask的值

umask -S模式方式顯示umask

umask -p輸出可被調用

全局設置:/etc/bashrc  用戶設置:~/.bashrc

 

 

Linux文件系統上的特殊權限 

三種常用權限:r, w, x    user, group, other 

安全上下文 

前提:進程有屬主和屬組;文件有屬主和屬組

(1) 任何一個可執行程序文件能不能啟動為進程:取決發起者 對程序文件是否擁有執行權限 

(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為 發起者所屬的組

(3) 進程訪問文件時的權限,取決于進程的發起者 

   (a)進程的發起者,同文件的屬主:則應用文件屬主權限

   (b) 進程的發起者,屬于文件屬組;則應用文件屬組權限 

   (c) 應用文件“其它”權限

任何一個可執行程序文件能不能啟動為進程:取決發起者對 程序文件是否擁有執行權限啟動為進程之后,其進程的屬主為原程序文件的屬主。

 

SUID權限:

任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限。 

啟動為進程之后,其進程的屬主為原程序文件的屬主(比如其它用戶執行cat之后,這個進程的屬主就變成了root

SUID只對二進制可執行程序有效,SUID設置在目錄上無意義 

權限設定: chmod u+s FILE… chmod u-s FILE…

 

可執行文件上SGID權限

  任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限。  

  啟動為進程之后,其進程的屬主為原程序文件的屬組。 

  權限設定: chmod g+s FILE… chmod g-s FILE…

 

   一旦某目錄被設定了SGID,則對此目錄有寫權限的用戶在此 目錄中創建的文件所屬的組為此目錄的屬組。 

   通常用于創建一個協作目錄 

權限設定: chmod g+s DIR… chmod g-s DIR…

 

Sticky位:

 具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權,在目錄設置Sticky 位,只有文件的所有者或root可以刪除該文件。

 sticky 設置在文件上無意義 

     權限設定: chmod o+t DIR… chmod o-t DIR… 

4表示SUID, 2表示SGID,1表示Sticky

 

權限位映射

SUID: user,占據屬主的執行權限位 s: 屬主擁有x權限 S:屬主沒有x權限   4

  SGID: group,占據屬組的執行權限位 s: group擁有x權限 Sgroup沒有x權限  2

  Sticky: other,占據other的執行權限位 t: other擁有x權限 Tother沒有x權限 1

 

chattr +i 不能刪除,改名,更改 

chattr +a 只能增加 

lsattr 顯示特定屬性

 

setfacl命令:

   -b,–remove-all:刪除所有擴展的acl規則,基本的acl規則(所有者,群組,其他)將被保留。

   -k,–remove-default:刪除缺省的acl規則。如果沒有缺省規則,將不提示。

   -n,–no-mask:不要重新計算有效權限。setfacl默認會重新計算ACL mask,除非mask被明確的制定。 

  –mask:重新計算有效權限,即使ACL mask被明確指定。 

-d,–default:設定默認的acl規則。 

–restore=file:從文件恢復備份的acl規則(這些文件可由getfacl -R產生)。通過這種機制可以恢復整個目錄樹的acl規則。此參數不能和除–test以外的任何參數一同執行。 

–test:測試模式,不會改變任何文件的acl規則,操作后的acl規格將被列出。 

-R,–recursive:遞歸的對所有文件及目錄進行操作。 

-L,–logical:跟蹤符號鏈接,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄

-P,–physical:跳過所有符號鏈接,包括符號鏈接文件。 

 –version:輸出setfacl的版本號并退出。 

–help:輸出幫助信息。 

 

     選項-m-x后邊跟以acl規則。多條acl規則以逗號(,)隔開。選項-M-X用來從文件或標準輸入讀取acl規則。 

     選項–set–set-file用來設置文件或目錄的acl規則,先前的設定將被覆蓋。

     選項-m(–modify)-M(–modify-file)選項修改文件或目錄的acl規則。 

     選項-x(–remove)-X(–remove-file)選項刪除acl規則。

 

ACL組成部分:

Entry tag type:(標簽入口類型)

   ACL_USER_OBJ:相當于Linuxfile_ownerpermission 

   ACL_USER:定義了額外的用戶可以對此文件擁有的permission 

   ACL_GROUP_OBJ:相當于Linuxgrouppermission 

   ACL_GROUP:定義了額外的組可以對此文件擁有的permission

   ACL_MASK:定義了ACL_USER, ACL_GROUP_OBJACL_GROUP的最大權限  

   ACL_OTHER:相當于Linuxotherpermission

 

一開始文件沒有ACL的額外屬性:

 

 [root@localhost ~]# ls -l -rw-rw-r– 1 root admin 0 Jul 3 22:06 test.txt [root@localhost ~]# getfacl –omit-header ./test.txt 

 

user::rw- 

group::rw- 

other::r– 

 

 

設置格式:setfacl -m user:john:rw- ./test.txt

查看格式: getfacl –omit-header ./test.txt

 

我們先讓用戶john擁有對test.txt文件的讀寫權限: 

[root@localhost ~]# setfacl -m user:john:rw- ./test.txt

 [root@localhost ~]# getfacl –omit-header ./test.txt

 user::rw- 

user:john:rw- 

group::rw- 

mask::rw- 

other::r– 

 

這時我們就可以看到john用戶在ACL里面已經擁有了對文件的讀寫權。

這個時候如果我們查看一下linuxpermission我們還會發現一個不一樣的地方。 [root@localhost ~]# ls -l ./test.txt -rw-rw-r–+ 1 root admin 0 Jul 3 22:06 ./test.txt 

在文件permission的最后多了一個+號,當任何一個文件擁有了ACL_USER或者ACL_GROUP的值以后我們就可以稱它為ACL文件,這個+號就是用來提示我們的。

我們還可以發現當一個文件擁有了ACL_USER或者ACL_GROUP的值時ACL_MASK同時也會被定義。 接下來我們來設置dev組擁有read permission

 [root@localhost ~]# setfacl -m group:dev:r– ./test.txt 

[root@localhost ~]# getfacl –omit-header ./test.txt 

user::rw- 

user:john:rw- 

group::rw- 

group:dev:r– 

mask::rw- 

other::r–

注意:在Linux file permission里面大家都知道比如對于rw-rw-r–來說當中的那個rw-是指文件組的permission. 但是在ACL里面這種情況只是在ACL_MASK不存在的情況下成立。如果文件有ACL_MASK值,那么當中那個rw-代表的就是mask值而不再是group permission了。

Default ACL:針對目錄的。Access ACL針對文件。

設置格式:setfacl -d -m user:john:rw ./dir

 

注意:刪除aclsetfacl -x不能刪除+,應該使用chfacl才能徹底刪除。

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

(0)
liuzhuoliuzhuo
上一篇 2016-08-08 16:13
下一篇 2016-08-08 16:13

相關推薦

  • 搜索引擎的檢索模型-查詢與文檔的相關度計算

    1. 檢索模型概述       搜索結果排序時搜索引擎最核心的部分,很大程度度上決定了搜索引擎的質量好壞及用戶滿意度。實際搜索結果排序的因子有很多,但最主要的兩個因素是用戶查詢和網頁內容的相關度,以及網頁鏈接情況。這里我們主要總結網頁內容和用戶查詢相關的內容。     &nbsp…

    2015-12-10
  • 誰寫了Linux

    2009年8月,Linux軟件基金會發布了一份叫《Who Writes Linux and Who Supports It》(PDF)的報告。這份報告主要對Linux 2.6.x的開發進行了全方位的統計??戳艘院蟛胖溃瓉鞮inux的開發的生產率竟是這樣的驚人,而且相當的的令人振奮,所以,在第一時間轉過來給大家看看。讓人不得不驚嘆,這不可思議的具有非凡活力…

    Linux干貨 2015-04-03
  • Linux文件管理命令

    Linux系統上文件管理命令 一、文件查看類命令      1、cat 由第一行開始顯示文件內容 語法格式: cat [選項列表] [文件列表]… 參數說明: -A, –show-all 等價于 -vET 。 -b, –number-nonblank 給非空輸出行編號。 -e 等價于 -vE 。 -E…

    Linux干貨 2017-07-24
  • 關于 shell腳本編程第一篇

                                                   shell腳本編程(1) …

    系統運維 2016-08-15
  • 集中管理利器-puppet快速入門-中

    集中管理利器-puppet快速入門-中 6.    嘗試啟動master puppet 啟動master puppet,并確認8140端口已被監聽:  #puppet返回成功,但不一定能成功啟動,puppet這個功能希望能改進… 7.    目錄結構 /etc/puppet/  …

    Linux干貨 2015-05-04
  • TCP 的那些事兒(下)

    這篇文章是下篇,所以如果你對TCP不熟悉的話,還請你先看看上篇《TCP的那些事兒(上)》 上篇中,我們介紹了TCP的協議頭、狀態機、數據重傳中的東西。但是TCP要解決一個很大的事,那就是要在一個網絡根據不同的情況來動態調整自己的發包的速度,小則讓自己的連接更穩定,大則讓整個網絡更穩定。在你閱讀下篇之前,你需要做好準備,本篇文章有好些算法和策略,可能會引發你的…

    Linux干貨 2016-08-15
欧美性久久久久