用戶,組,文件權限管理

用戶和組的配置文件
Linux用戶和組的主要配置文件:
/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性

passwd文件格式:

/etc/passwd
查看方式:
getent passwd [username]
詳細解析:
magedu:x:1000:1000:magedu:/home/magedu:/bin/bash
用戶名:
密碼位:x
pwconv (默認) 將密碼映射到了/etc/shadow
pwunconv 將密碼保存到/etc/passwd中,刪除/etc/shadow文件
UID
每個用戶都有一個UID,UID爲0時,說明是管理員帳戶。
CentOS6 1-499爲系統用戶,預留
CentOS7 1-999爲系統用戶,預留
GID:
主要組:每個有且僅有一個主要組,當用戶創建時,自動創建一個與用戶同名的組作爲主要組。
輔助組:用戶可以有零個或多個輔助組。
GECOS(描述位可以爲空):
chfn username 設置用戶的描述
finger username (默認沒有安裝) 查看用戶的信息
修改描述位:chfn magedu(GECOS)

directory:
usermod -d /home/magedunew magedu
編輯directory: nano /etc/passwd
當directory爲空時,則用戶登陸不上

默認的登錄Shell
usermod -s /sbin/nologin magedu
chsh -s /sbin/nologin maged
當shell是sbin/nologin 則所有的用戶都登錄不上,通過命令usermod 可以修改回來(如下:)
這裏寫圖片描述
也可以通過usermod修改家目錄
usermod -d /home/magedunew magedu
usermod -s /sbin/nologin magedu
這裏寫圖片描述

擴展:
密碼的顯示與隱藏
用戶信息登陸可以查看到普通登陸密碼:
[root@localhost ~]# pwunconv
[root@localhost ~]# cat /etc/passwd
普通用戶密碼被隱藏:
[root@localhost ~]# pwconv
[root@localhost ~]# su - magedu
Last login: Thu Jul 20 19:08:49 CST 2017 on pts/2
[magedu@localhost ~]$ cat /etc/passwd
注:
用戶的密碼被存放在 /etc/shadow(默認的)
[root@localhost ~]# ls /etc/shadow -l
-r——–. 1 root root 1454 Jul 20 19:13 /etc/shadow
對root來說通過
[root@localhost ~]# cat /etc/shadow
可以直接查看到用戶密碼

shadow文件格式:

username
getent shadow [username]
密碼位: sha512 sha256 md5 id salt$password
authconfig –passalgo=sha256 –update
!!用戶被鎖定
usermod -L 鎖定用戶
usermod -U 解鎖用戶 -p password

密碼上一次的修改日期(從1970-1-1到修改的時間經過了多少天來表示)
密碼最小存活期
密碼最大存活期
密碼過期之前提前多少天提醒用戶(在正確登錄時)
密碼過期之後多少天帳戶過期(在正確登錄時)
帳戶過期時間(自1970-1-1到該天經過了多少天來表示)
保留位
authconfig –passalgo=sha256 –update

chage -l username 顯示帳戶的密碼信息
-d 指定密碼的上次修改時間(yyyy-mm-dd)
-E 指定賬戶的過期時間
-I 密碼過期之後多少天帳戶過期
-m 設置最小存活時間
-M 設置最大存活時間
-W 設置密碼過期前的提醒時間
chage username 交互式修改用戶的密碼策略

[root@localhost ~]# getent shadow magedu
magedu:6 PTrQ67NW/k521BhM$4PiH/Swb263HnqIPtFQheRtgTlpj70llEL2sz8Upq9oioYuCafMFf.tsGTYy75e5QPgVYdklwmFAyKrddO6yw.:17367:0:99999:7: : :

1.6:sha512sha256md5 idsalt password
修改加密方式的方法:
[root@localhost ~]# authconfig –passalgo=md5 –update
查看:[root@localhost ~]# less /etc/login.defs
(幫助鍵[root@localhost ~]# authconfig –help |grep pass)
加密方式不同,輸入的密碼相同,加密後不同,
加密方式相同,輸入的密碼相同,加密後相同,
添加用戶:
[root@localhost ~]# useradd kezhang
[root@localhost ~]# passwd kezhang
這裏寫圖片描述

gshdow文件格式:

 羣組名稱:就是羣組名稱
 羣組密碼:
 組管理員列表:組管理員的列表,更改組密碼和成員
 以當前組爲附加組的用戶列表:(分隔符爲逗號)

創建用戶:
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX]定義在/etc/login.defs
-o 配合-u 選項,不檢查UID的唯一性
-g GID:指明用戶所屬基本組,可爲組名,也可以GID
-c “COMMENT”:用戶的註釋信息
-d HOME_DIR: 以指定的路徑(不存在)爲家目錄
-s SHELL: 指明用戶的默認shell程序
這裏寫圖片描述
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…]:爲用戶指明附加組,組須事先存在
這裏寫圖片描述
-N 不創建私用組做主組,使用users組做主組
這裏寫圖片描述
-r: 創建系統用戶 CentOS 6: ID<500,CentOS 7: ID<1000
這裏寫圖片描述
小結:創建用戶: useradd
 默認值設定:/etc/default/useradd文件中
 顯示或更改默認設置:
useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP

chage -l username 顯示帳戶的密碼信息
-d 指定密碼的上次修改時間(yyyy-mm-dd)
-E 指定賬戶的過期時間
-I 密碼過期之後多少天帳戶過期
-m 設置最小存活時間
-M 設置最大存活時間
-W 設置密碼過期前的提醒時間
chage username 交互式修改用戶的密碼策略

用戶屬性修改

usermod [OPTION] login

usermod -u newuid username 修改用戶的UID
-o -u newuid username 修改用戶的uid(可以與已存在用戶的uid相同)
這裏寫圖片描述
-aG 加組名,可以追加輔助組而不用覆蓋之前的組
這裏寫圖片描述
-G “” username 或 usermod -G primarygroup username 清空用戶所有的輔助組
這裏寫圖片描述
這裏寫圖片描述
-g groupname username 修改用戶的主組

        -s /sbin/nologin username 修改用戶的默認shell 
        -c ...  username 修改用戶時指定描述信息。
            chfn ... username
        -d /.../path username 修改用戶的家目錄(不會創建,只修改/etc/passwd當中的家目錄信息)
        -m -d /.../path username 修改用戶的家目錄信息,並將家目錄移動到目的目錄並改名。

這裏寫圖片描述

        -L 給用戶/etc/shadow中的密碼位加!使用戶被鎖定

這裏寫圖片描述

        -e yyyy-mm-dd 設置一個帳戶過期時間

這裏寫圖片描述
-f days 指定密碼過期之後多少天帳戶過期
這裏寫圖片描述

-u UID: 新UID
-g GID: 新主組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的
附加組將會被覆蓋;若保留原有,則要同時使用-a選項

-s SHELL:新的默認SHELL
-c ‘COMMENT’:新的註釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄並移
動原家數據,同時使用-m選項
-l login_name: 新的名字;
-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !
-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期
-f INACTIVE: 設定非活動期限

vipw = vim /etc/passwd
vipw -s = vim /etc/shadow
vigr = vim /etc/group
vigr -s = vim /etc/gshadow
pwck 檢查/etc/passwd /etc/shadow
grpck 檢查/etc/group /etc/gshadow

刪除用戶

 userdel [OPTION]… login
-r: 刪除用戶家目錄
這裏寫圖片描述
查看用戶相關的ID信息
 id [OPTION]… [USER]
-u: 顯示UID
-g: 顯示GID
-G: 顯示用戶所屬的組的ID
-n: 顯示名稱,需配合ugG使用

切換用戶或以其他用戶身份執行命令
 su [options…] [-] [user [args…]]
 切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的
配置文件,不改變當前工作目錄
su - UserName:登錄式切換,會讀取目標用戶的配置
文件,切換至家目錄,完全切換
 root su至其他用戶無須密碼;非root用戶切換時需要密碼
 換個身份執行命令:
su [-] UserName -c ‘COMMAND’
 選項:-l –login
su -l UserName 相當於 su - UserName

設置密碼

 passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅
root用戶權限
 passwd: 修改自己的密碼
 常用選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
–stdin:從標準輸入接收用戶密碼
echo “PASSWORD” | passwd –stdin USERNAME

修改用戶密碼策略

 chage [OPTION]… LOGIN
-d LAST_DAY
-E –expiredate EXPIRE_DATE
-I –inactive INACTIVE
-m –mindays MIN_DAYS
-M –maxdays MAX_DAYS
-W –warndays WARN_DAYS
–l 顯示密碼策略
 示例:
chage -d 0 tom 下一次登錄強制重設密碼
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
用戶相關的其它命令
 chfn 指定個人信息
 chsh 指定shell
 finger

創建組

Groupadd groupname
Useradd username 創建用戶的同時也會創建一個同名的組
主組與附加組的創建目錄或文件的區別:權限不同 創建文件時繼承的信息也不同。

屏幕剪輯的捕獲時間: 2017/7/22 10:59

修改和刪除組

 組屬性修改:groupmod
groupmod [OPTION]… group
-n group_name: 新名字

-g GID: 新的GID

 組刪除:groupdel
groupdel GROUP

設置組管理員

管理員:只能由root任命或撤銷,可以同時有多名,以,爲間隔。權利:可以修改組密碼,可以將用戶從該組(輔助組)當中添加或刪除。
任命 gpasswd -A xiaoqiao,luren admin
撤消所有管理員:gpasswd -A “” admin
gpasswd -a libai admin 往組中增加用戶

gpasswd -d libai admin 將用戶從組中刪除
這裏寫圖片描述

gpasswd -r admin 刪除組密碼
這裏寫圖片描述

gpasswd -R admin 限制非輔助組用戶可以通過newgrp admin獲取主組權限。當前密碼被刪除替換爲!
這裏寫圖片描述

gpasswd -M redhat,libai admin 設置輔助組的成員列表。
這裏寫圖片描述

groupmems -g admin -a libai (僅能一次加一個用戶到組中)
這裏寫圖片描述
groupmems -g admin -d libai 將指定成員從組中刪除
groupmems -g admin -l 列出指定組的成員列表(輔助組)

groupmems -p admin 消除指定組的所有成員。
這裏寫圖片描述

主管理員的權限:創建修改組密碼,加入刪除組成員
管理員的任命由root決定:
創建不成功
這裏寫圖片描述
創建成功
這裏寫圖片描述

刪除管理員(1.設成root2.改成空格):
這裏寫圖片描述

更改組密碼

 組密碼:gpasswd
設置並顯示組密碼:
這裏寫圖片描述

 gpasswd [OPTION] GROUP
-a user: 將user添加至指定組中
-d user: 從指定組中移除用戶user
-A user1,user2,…: 設置有管理權限的用戶列表
 newgrp命令:臨時切換主組
如果用戶本不屬於此組,則需要組密碼
更改和查看組成員
 groupmems [options] [action]
options:
-g, –group groupname 更改爲指定組 (只有root)
Actions:
-a, –add username 指定用戶加入組
這裏寫圖片描述

-d, –delete username 從組中刪除用戶
這裏寫圖片描述

-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
這裏寫圖片描述

這裏寫圖片描述

 groups [OPTION].[USERNAME]… 查看用戶所屬組列表

注:groupmems 只能操作輔助組
主組的信息是記錄附加組
查看:
這裏寫圖片描述
或:
這裏寫圖片描述
修改主組:
這裏寫圖片描述

Getent group username 查看一個用戶有多少組
Groups username 查看一個組有多少用戶
id username 可以查看該user的UID GID Groups

文件權限:

一 文件屬性操作
chown 設置文件的所有者
chgrp 設置文件的屬組信息
分開操作:
同時修改所屬人所屬組:
所屬人不可把文件轉交給別人:

這裏寫圖片描述

僅改目錄中的所屬人的
這裏寫圖片描述

修改目錄和文件中的所屬人的
這裏寫圖片描述

修改文件所屬組:
這裏寫圖片描述
用戶要想把某個文件的所屬組改成某個組,首先是這個文件的所屬人,
這裏寫圖片描述
小結:
chown : change owner
owner.group
owner:group
以上只有root才能修改文件的所有人
:group或 .group 文件的owner也可以使用chown修改文件的所屬組(owner必須屬於目標組)
-R 遞歸
–reference sourcefile tarfile
chgrp : change group
文件的owner可以修改文件的所屬組(owner必須屬於目標組)
-R 遞歸
–reference sourcefile tarfile
chmod –reference 源文件 目的文件
–reference
這裏寫圖片描述

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

普通文件
r: 可以讀取文件的內容
cat less more nano vim 執行腳本
w: 可以修改文件的內容
nano vim > >> tee gedit
x: 可以執行該文件
執行腳本
目錄文件
r: 用戶可以列出目錄下有哪些文件(不能查看文件的詳細信息)
w: 只有w無意義。
x: 用戶可以進入該目錄(如果知道文件名,且有相對應的文件權限 ,可以執行對應的操作)
rx: 用戶可以進入目錄,且可以長列出。
rw:等於只有r
wx: 能進入,能創建能刪除,不能列出。故用戶能否刪除文件與文件自身權限無關。
rwx: 全部權限。
—:null
權限判斷的順序(beta)
先判斷是否是文件的所有人,如果是,則執行所屬人的權限後結束,如果不是所有人,則判斷是否所屬組(可以是主組也可以是輔助組),如果是,則執行所屬組的權限後結束,如果不是則執行其他人的權限後結束。
所有人->所有組->其他人
數字
Chmod 777 name
rwxrw-r–
111,110,100
764
r:100:4
w:010:2
x:001:1

echo ‘obase=10;ibase=2;111’ |bc(輸出10進制,輸入2進制,調用bc計算器)
0:—
1:–x
2:-w-
3:-wx
4:r–
5:r-x
6:rw-
7:rwx
修改文件的權限 :字符,數字
修改文件權限
chmod實例:
利用字符設置權限
這裏寫圖片描述
利用數字設置權限:
這裏寫圖片描述
X 當文件本身沒有x權限時,則跳過,一般用於批量修改多個文件、目錄的權限時,自動跳過沒有執行權限的文件。
X只能給目錄加權限:
這裏寫圖片描述
利用ugo可以給文件加x
這裏寫圖片描述

**

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

**
umask值 可以用來保留在創建文件權限
 新建FILE權限: 666-umask
如果所得結果某位存在執行(奇數)權限,則將其權限+1
 新建DIR權限: 777-umask
 非特權用戶umask是 002
 root的umask 是 022
 umask: 查看
 umask #: 設定
umask 002
 umask –S 模式方式顯示
 umask –p 輸出可被調用
 全局設置: /etc/bashrc 用戶設置:~/.bashrc
當umask中全部是偶數時,可以直接減,當umask中包含奇數時,對於目錄直接減,對於文件,在奇數所在的位減完後加一
777 rwxrwxrwx 666 rw-rw-rw-
021 —-w—x 021 —-w—x
756 rwxr-xrw- 646 rw-r–rw-
這裏寫圖片描述

當複製一個文件或目錄時,它的最高權限並不是666或777 而是基於源文件減去umask
每一次退出登陸的umask都可能不同,每次登陸會讀取配置文件,生效新的配置
~/.bashrc
umask xxx

Umask 設置nano .bashrc
這裏寫圖片描述
不會立即生效,使用 . .bashrc 和 source .brashrc
這裏寫圖片描述
練習
 1、當用戶xiaoming對/testdir 目錄無執行權限時,意味着無
法做哪些操作?
無x 有rw
不能進入該目錄,不能創建刪除,可以列出文件,不能長列出
 2、當用戶xiaoqiang對/testdir 目錄無讀權限時,意味着無
法做哪些操作?
可進入目錄,可創建刪除,不能列出,若已知某個文件一定存在,可以訪問
 3、當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的
只讀文件file1是否可修改和刪除?
無w有rs 。 不能刪除,不可修改(刪除與目錄的wx有關,文件能不能該與目錄無關與文件自身有關)

 4、當用戶wangcai 對/testdir 目錄有寫和執行權限時,該目
錄下的只讀文件file1是否可修改和刪除?
有wx 。可刪除,不能修改
擴展:當目錄只有w時不能讀,不能執行,可寫但並不能看到寫的東西
 5、複製/etc/fstab文件到/var/tmp下,設置文件所有者爲
wangcai讀寫權限,所屬組爲sysadmins組有讀寫權限,其他人無權限
[root@localhost ~]# useradd wangcai
[root@localhost tmp]# groupadd sysadmins
[root@localhost ~]# cd /var/tmp
[root@localhost tmp]# chown wangcai.sysadmins fstab
[root@localhost tmp]# chmod o= fstab
[root@localhost tmp]# ll

權限位映射

SUID, SGID, Sticky
 SUID: user,佔據屬主的執行權限位
s: 屬主擁有x權限
S:屬主沒有x權限
 SGID: group,佔據屬組的執行權限位
s: group擁有x權限
S:group沒有x權限
 Sticky: other,佔據other的執行權限位
t: other擁有x權限
T:other沒有x權限
實例:
suid
這裏寫圖片描述

這裏寫圖片描述
sticky
這裏寫圖片描述
這裏寫圖片描述
數字
chmod u+s 4***
g+s 2***
o+t 1***
6 即有suig也有sgid
3 即有sgid也有sticky
5 即有suid也有sticky
7 all

小結:
suid 當對一個可執行的二進制文件作用了SUID權限之後,任何擁有執行該文件權限的人,在執行的過程時都臨時擁有該文件所屬人的權限。
sgid 當對一個可執行的二進制文件作用了SGID權限之後,任何擁有執行該文件權限的人,在執行的過程時都臨時擁有該文件所屬組的權限。
當對一個目錄作用了SGID權限之後,任何對該目錄有wx權限的用戶在該目錄下創建的文件及目錄的所有屬均爲該目錄的所有組。
sticky 當對一個目錄作用了sticky之後(只限制組用戶,目錄的owner不受影響),該目錄下的文件僅其所屬人才能刪除。 sticky 設置在文件上無意義
劉關張,未來創建的文件/目錄,其他人沒有任何權限,而彼此之間可以相互讀寫。(三人的主組不相同),且不能刪除別人創建的文件。

設定文件特定屬性
 chattr +i 不能刪除,改名,更改
 chattr +a 只能追加內容
 lsattr 顯示特定屬性
實例:
1chattr +i
這裏寫圖片描述
2chattr +a
這裏寫圖片描述
3 lsattr

注:

執行一個文件的倆種方式:
這裏寫圖片描述
管理員並若不是組內成員,則並不能享受組內權限
sbin下的命令只有超級管理員能執行(eg:groupmems,usermod)
Bin 下的命令所有人都可以執行(eg:gpasswd)
Which command 可以查看command是哪個路徑下的,命令
解:誤刪除了用戶wangcai的家目錄,請重建並恢復該用戶家
目錄及相應的權限屬性
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述
a
這裏寫圖片描述

這裏寫圖片描述
小編介紹完了,有問題請留言,ta要去休息了。。。。。
這裏寫圖片描述

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