賬號密碼、權限管理

1.1 生成包含大小寫、數字隨機密碼 cat /dev/urandom |tr -dc [0-9a-zA-Z]|head -c 12

1.2 shadow文件詳解 __[root@cenots7 ~]#getent shadow xuan

xiaowang:$6$59K3dttN$5MqODFEnbQBFXT/ZNn2eMJ2mTuJ0lL77NsZZhEdfRX1McM1WpOdcTQLHWaLS5EwsPl0nFnN.E9rcQYO6QZakY/:18099:0:99999:7:::
1.2.1 xiaownag,用戶名
1.2.2 $6$U/C7/CGJU7dVjEzP$vTHrCiZc9drfQD1U0EskfDlCxrk4cOnIvIjYY2b0rSkFrMEJ.U6.EwJv9RvsFj2HcLNXwlUhYdEX9OXFX4Iy6/,密碼區,用$劃分成三個字段,$6,只是加密方式,這裏用的是sha512。中間部分,是salt加密用的干擾字,後面部分纔是真正的密碼區。
1.2.3 上次密碼更新時間,指的是從1970年到密碼更新的天數。
1.2.4 密碼不可變動的天數,0表示無限制。
1.2.5 密碼的最長有效期。也是天數表示。到期前會有提示,按需要更新密碼
1.2.6 密碼到期前的警告期,用天數表示,7表示到期前7天就會提示要更新密碼
1.2.7 密碼過期後的寬限期。密碼過期了,此時登錄賬號,必須立刻變更密碼,如果不改密碼,則退出登錄。
1.2.8 賬號的有效期。注意不是密碼,是賬號的有效期。此日期用的也是相對天數,相對1970年以來到失效期的天數。
1.2.9 備用

1.3 chage 主要修改shadow信息,密碼的期限的相關操作

[root@cenots7 home]#chage -h
Usage: chage [options] LOGIN
//假設給xiaowang 配置賬戶密碼信息
Options:
-d, --lastday LAST_DAY        set date of last password change to LAST_DAY|密碼最後更新天數,按1970記零
chmod -d 18105 xiaowang .更新密碼的變更日期
-E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE|賬戶過期天數,按1970年記零
chmod -E 18200 xiaowang .密碼到18200-18105天后生效。
-h, --help                    display this help message and exit
-I, --inactive INACTIVE       set password inactive after expiration|密碼非活動期限,限制登錄
                        to INACTIVE
chage -I 10 xiaowang 密碼到期後10天,可以登錄,立即更改密碼。
-l, --list                    show account aging information
chage -l xiaowang 顯示信息
-m, --mindays MIN_DAYS        set minimum number of days before password
                        change to MIN_DAYS
-M, --maxdays MAX_DAYS        set maximim number of days before password
                        change to MAX_DAYS
chage-M  30 xiaowang 最長有效期,絕對天數表示.30天密碼到期。
-R, --root CHROOT_DIR         directory to chroot into
-W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS|密碼過期前警告天數  
chage -W 7 xiaowang 密碼到期前7天警告。
//使用命令前,要給用戶設定密碼,新建用戶無密碼,使用此指令會出錯
chage -E # xiaowang #表示密碼最後更新的日+想要使用的天數。過期後登錄系統,提示賬號過期,請聯繫管理員。

1.4 useradd 添加用戶

  -u 2000,指定用戶的uid是2000  
  -o 配合-u,可以不用檢查uid是否重複,但這樣做容易混亂。
  -g MAINGROUP指定用戶的主組,賬號必須屬於一個主組。
  -G 附屬組列表。 指定用用戶的附屬組,用戶可以有很多附屬組。
  -c "describe" 描述信息,
  -d HOME_DIR指定家目錄,目錄要存在,不會自動創建
  -s /bin/bash 指定shell類型
  -N 不創建私用組。不會自動創建跟用戶名相同的組
  -r 創建系統用戶,默認不自動創立家目錄。

新建用戶相關文件
/etc/default/useradd
/etc/skel/* 家目錄的隱藏文件拷貝模板文件
/etclogin.defs
newusers 跟passwd格式文件,批量增加用戶
chpasswd 批量修用戶的密碼

1.5 usermod 修改賬戶的相關信息

Usage: usermod [options] LOGIN

u UID 指定用戶UID。  
g GID 指定主組的GID。  
G group1,group2,若保留原有的附加組,則 -aG .  
s 變更默認shell.  

c "描述信息"。-d 新的家目錄,若不存在,則失敗。如果要遷移,原有家目錄,則-dm 配合使用。

l ,-l newname oldname 
L user 鎖定用戶,密碼欄增加!,登陸時即使密碼輸入正確,也是提示登錄錯誤。  
U user解鎖用戶.  
e YYYY—MM-DD,一定注意格式,必須用2019-07-01格式,否則不識別因爲此處參數直接修改shadow文件,此字段是從1970年算起,指明用戶賬號有效期,過期日登錄後會提示,過期聯繫管理員,並退出。  
f 設定非活動天數,即過期寬限期。

1.6 passwd

-d user,刪除密碼  
-l user,鎖定用戶  
-u user,解鎖指定用戶 
 -e user,登陸時必須修改密碼*************常用
-n days user,在days內不允許修改密碼
-x user 密碼使用最長期限,用天表示。
-w user 提前多少天警告 
-i user 非活動期限  
///////修改用戶密碼信息有兩個命令 passwd 或者 chage

1.7 組相關

1.7.1 gpasswd 更改組用戶的密碼、組中增加刪除用戶
gpasswd -d USER GROUP 從GROUP中刪除USER  
gpasswd -a USER GROUP 增加USER至GROUP中
1.7.2 更改查看組成員
groupmems [option][action]  
gruopmems -g GROUPS 指定組  
groupmems -g grpname -a user 指定用戶加入組。每次智能添加一個用戶
groupmems -g grpname -d user 從組grpname 中刪除user  
groupmems -g grpname -p 清空所有組員  
groupmems -g grpname -l 列出所有組員

1.8 權限配置及特殊權限

1.8.1 umask及特殊權限

配置文件 全局:/etc/bashrc 個人:~./.bashrc 。umask 022寫入配置文件即可

1.8.2 Suid,Sgid,Sticky

Suid:用4表示,chmod u+s file 即可。用戶運行程序,按程序文件本身的屬主權限執行。佔據屬主的x執行權限位置,s表示原來有x執行權限,S表示原來沒有執行權限。
SGid:用2表示,chmod g+s file 。s表示group有x ,S表示group原來沒有x權限。
Sticky:用1表示,目錄設置寫權限,但目錄裏文件只有屬主及root可以刪除自己的文件。可以修改別人的文件,但無刪除權限。佔據other的x執行位,t表示other 有執行權,T表示無執行權。

1.8.2 文件的特定屬性

chattr +i file ,不能刪除,改名,移動。限定root誤操作,取消用chattr -i file

chattr +a 只能追加內容,取消用chattr -a
lsattr file 查看文件的特定屬性

1.9 訪問控制列表ACL

參考博客ACL基礎
ACL進階

ACL可針對用戶、用戶組來設置權限,子文件、目錄自動繼承父目錄的權限
setfacl -m u:wang:rwx file|directory 修改用戶的acl
setfacl -m g:admins:rw file|directory 修改組的acl
setfacl -x u:wang file|directory 刪除acl

setfacl -b file 清楚文件所有附加的ACL權限。
getfacl file1 | setfacl --set-file=- file2 參考file1給file2設置權限
mask之影響屬主及其他外的 人和組的最大權限。
getfacl -R /dir/ > acl.txt 保存acl,tar後可以還原。
實列:setfacl -m u:xuan:rwx f1 setfacl -m g:xuan:rw f1
setfacl -x u:xuan 刪除acl權限
權限檢查執行順序,是否屬主?是直接生效。是否在acl user表,在,生效。是否在acl group列表,在,生效。注意ll查看到的group 權限是mask 權限。mask限定最高權限。若user屬於文件的屬組group,同時也是acl group 列表,則會獲取兩個group的累加權限。

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