如何通過vscode執行除錯javascript程式碼
使用者、組及許可權控制
使用者及組管理、使用者及許可權管理
一.使用者和組管理
1,資源分派
Authentication 認證:識別使用者
Authorization 授權:
Accoutiog 審計
token,identity (username/password)
2,Linux使用者:
Username/UID(UserID)
管理員:root,0
普通使用者:1-65535
系統使用者:
守護程序獲取資源進行許可權分配
1-499(centos 6),1-999(centos 7)不同的發行版會不同
登入使用者(互動式登入):500+(centos 6),1000+(centos 7)
3,Linux使用者組:
Groupname/GID(GroupID)
管理員組:root,0
普通組:
系統組:1-499(centos 6),1-999(centos 7)
普通組:500+(centos 6),1000+(centos 7)
4,Linux安全上下文
執行中的程式:程序(process)
以程序發起者的身份執行
程序所能夠訪問的所有資源的許可權取決於程序的發起者的身份
5,Linux組的類別
使用者的基本組(主組):
組名同用戶名,且僅包含一個使用者,即私有組
使用者的附加組(額外組)
6,Linux使用者和組相關的配置檔案:
/etc/passwd 使用者及其屬性資訊(名稱、GID、基本組ID等)
/etc/group 組及其屬性資訊
/etc/gshadow 組密碼及其相關屬性
/etc/passwd
name:password:UID:GID:GECOS:directory:shell
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
使用者名稱:密碼佔位符:UID:GID(使用者的基本組ID):GECOS(使用者的備註資訊):主目錄:預設shell
/etc/group
group_name:password:gid:user_list
組名:組密碼佔位符:GID:以當前組為附加組的使用者列表(分隔符為逗號)
/etc/shadow
user1: :17684:0:99999:7: : :
①使用者名稱
②加密了的密碼
③最近一次更改密碼的日期(相對時間,上次修改密碼到unix元年經過的天數)
④密碼的最小使用期限
⑤密碼的最大使用期限
⑥密碼警告時間段
⑦密碼禁用期(非活動期限)
⑧賬號過期日期(從 unix 元年到該日期經過的天數)
⑨保留欄位
順序:① : ② : ③ : ④ : ⑤ : ⑥ : ⑦ : ⑧ : ⑨
加密機制:
加密:明文-->密文
解密:密文-->明文
單向加密:提取資料指紋
md5: message digest 訊息摘要 128bits
sha1: secure hash algorithm 安全的雜湊演算法 160bits
sha224:224bits
sha256:256bits
sha384:384bits
sha512:512bits
雪崩效應:初始條件的微小改變,將會引起結果的巨大改變;蝴蝶效應;
定長輸出
密碼的複雜性策略
1、使用數字、大寫字母、小寫字母及特殊字元中至少3種
2、足夠的長度;
3、不要使用易猜測密碼,使用隨機密碼
4、定期更換;不要使用最近曾經使用過的密碼
7,使用者和組相關的管理命令
①使用者建立:useradd
useradd [option] LOGIN
用法:useradd [選項] 登入
useradd -D
useradd -D [選項]
選項:
-b, --base-dir BASE_DIR 新賬戶的主目錄的基目錄
-c, --comment COMMENT 新賬戶的 GECOS 欄位
-d, --home-dir HOME_DIR 新賬戶的主目錄
-D, --defaults 顯示或更改預設的 useradd 配置
-e, --expiredate EXPIRE_DATE 新賬戶的過期日期
-f, --inactive INACTIVE 新賬戶的密碼不活動期
-g, --gid GROUP 新賬戶主組的名稱或 ID
-G, --groups GROUPS 新賬戶的附加組列表
-h, --help 顯示此幫助資訊並推出
-k, --skel SKEL_DIR 使用此目錄作為骨架目錄
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的預設值
-l, --no-log-init 不要將此使用者新增到最近登入和登入失敗資料庫
-m, --create-home 建立使用者的主目錄
-M, --no-create-home 不建立使用者的主目錄
-N, --no-user-group 不建立同名的組
-o, --non-unique 允許使用重複的 UID 建立使用者
-p, --password PASSWORD 加密後的新賬戶密碼
-r, --system 建立一個系統賬戶
-R, --root CHROOT_DIR chroot 到的目錄
-s, --shell SHELL 新賬戶的登入 shell
-u, --uid UID 新賬戶的使用者 ID
-U, --user-group 建立與使用者同名的組
-Z, --selinux-user SEUSER 為 SELinux 使用者對映使用指定 SEUSER
-u UID: UID=[UID_MIN,UID_MAX] , 定義在/etc/login.defs
UID: 使用者 ID 的數字值。此值必須為唯一的,除非使用了 -o
-g GID: 指明使用者所屬的基本組,可以為組名,也可以為GID,注意:組名或GID必須已經存在
-c "COMMENT" :“使用者的註釋資訊”
[root@localhost ~]# useradd -c "I am ben." ben
[root@localhost ~]# tail -1 /etc/passwd
ben:x:502:502:I am ben.:/home/ben:/bin/bash
-d /PATH/TO/HOME/DIR 以指定的路徑為家目錄,注意:提前條件,該目錄事先不存在,如果存在,則報錯
[root@localhost ~]# useradd -d /tmp/centos cento
[root@localhost ~]# tail -1 /etc/passwd
cento:x:503:503::/tmp/centos:/bin/bash
[root@localhost ~]# mkdir /tmp/test
[root@localhost ~]# useradd -d /tmp/test test
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
-s SHELL 指明使用者的預設shell程式,可用列表在/etc/shells 檔案中
[root@localhost ~]# useradd -s /bin/tcsh docker
[root@localhost ~]# tail -1 /etc/passwd
docker:x:505:505::/home/docker:/bin/tcsh
-GGROUP1[,GROUP2,...[,GROUPN]]]: 為使用者指明附加組,組必須事先存在,多個附加組之間用逗號分隔
[root@localhost ~]# useradd -G test,docker centos
[root@localhost ~]# id centos
uid=506(centos) gid=506(centos) groups=506(centos),504(test),505(docker)
-r: 建立系統使用者
centos 6 id < 500
centos 7 id < 1000
[root@localhost ~]# useradd -r zabbix
[root@localhost ~]# cat /etc/passwd | grep "zabbix"
zabbix:x:496:493::/home/zabbix:/bin/bash
預設值設定:/etc/default/useradd檔案中 比如使用 useradd -D -s /etc/tcsh 來改變預設的shell
練習:建立使用者gentoo,附加組為distro和linux,預設shell為/bin/csh,註釋資訊為"gentoo distribution"
useradd -G distro,linux -s /bin/csh -c "gentoo distribution" gentoo
[root@localhost ~]# useradd -G distro,linux -s /bin/csh -c "gentoo distribution" gentoo
[root@localhost ~]# tail -1 /etc/passwd
gentoo:x:508:508:gentoo distribution:/home/gentoo:/bin/csh
[root@localhost ~]# id gentoo
uid=508(gentoo) gid=508(gentoo) groups=508(gentoo),1503(distro),1504(linux)
②groupadd:組建立
groupadd [OPTION].. group_name
-g GID: 指明GID號,[GID_MIN,GID_MAX] 定義在/etc/login.defs
[root@localhost ~]# groupadd -g 2001 cook
[root@localhost ~]# tail -1 /etc/group
cook:x:2001:
-r:建立系統組
centos 6 id < 500
centos 7 id < 1000
[root@localhost ~]# groupadd -r jobs
[root@localhost ~]# cat /etc/group | grep "jobs"
jobs:x:492:
③id: 檢視使用者相關的ID資訊
id [OPTION]... [USER]
-u: UID 顯示UID
-g: GID 顯示GID基本組id
-G: Groups 顯示所有GID
-n: NAME顯示使用者名稱或使用者組名
④su: 切換使用者或以其他使用者身份執行命令
su [OPTION] [-] [user [args...]]
切換使用者的方式:
su UserName: 非登入式切換,即不會讀取目標使用者的配置檔案
su - UserName: 登入式切換,會讀取目標使用者的配置檔案,完全切換
注意:root使用者su到其他使用者無須密碼;非root使用者切換時需要密碼;
換個身份執行命令
su [-] UserName -c ‘COMMAND‘ 僅僅只是使用另一個使用者來執行命令,不進行使用者切換。
[root@localhost~]# su - tom -c ‘echo $PATH‘
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tom/bin
選項:
-l "su -l username"相當於"su - username" 相當於登入式切換
[root@localhost ~]# su -l tom
[tom@localhost ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tom/bin
sudo
sudo可以針對單個命令授予臨時許可權
使用visudo進行修改,可以提示報錯
⑤usermod: 使用者屬性修改
usermod [OPTION] login
-u UID: 新的UID
[root@localhost ~]# usermod -u 2002 tom
[root@localhost ~]# id -u tom
2002
-g GID: 新的基本組id 可以是組名或者gid 注意:前提條件,新的基本組必須事先存在
[root@localhost ~]# usermod -g cook tom
[root@localhost ~]# id -g tom
2001
[root@localhost ~]# usermod -g 508 tom
[root@localhost ~]# id -g tom
508
-G GROUP1,GROUP2...GROUP# 新的附加組,原來的附加組將會覆蓋,若保留原有,則要同時使用-a選項,表示append -a選項必須作為首選項
[root@localhost ~]# usermod -G gentoo,linux tom
[root@localhost ~]# id tom
uid=2002(tom) gid=508(gentoo) groups=508(gentoo),1504(linux)
[root@localhost ~]# usermod -a -G cook tom
[root@localhost ~]# id tom
uid=2002(tom) gid=508(gentoo) groups=508(gentoo),1504(linux),2001(cook)
-s SHELL 新的預設shell
[root@localhost ~]# usermod -s /bin/tcsh tom
[root@localhost ~]# cat /etc/passwd | grep "tom"
tom:x:2002:508::/home/tom:/bin/tcsh
-c "COMMENT": 新的註釋資訊[root@localhost~]# usermod -c "I am tom." tom
[root@localhost ~]# usermod -c "I am tom." tom [root@localhost ~]# cat /etc/passwd | grep "tom" tom:x:2002:508:I am tom.:/home/tom:/bin/tcsh
-d HOME_DIR: 新的家目錄,原有家目錄中的檔案不會同時移動至新的家目錄,若要移動,則同時使用-m選項
[root@localhost ~]# usermod -d /home/tom2 -m tom
[root@localhost ~]# cat /etc/passwd | grep "tom"
tom:x:2002:508:I am tom.:/home/tom2:/bin/tcsh
-l LOGIN_NAME: 新的名字
[root@localhost ~]# usermod -l tom123 tom
[root@localhost ~]# cat /etc/passwd | grep "tom123"
tom123:x:2002:508:I am tom.:/home/tom2:/bin/tcsh
-L: lock指定使用者,鎖定使用者的密碼,這會在使用者加密的密碼之前放置一個“!”
[root@localhost ~]# usermod -L tom
[root@localhost ~]# cat /etc/shadow | grep "tom"
tom:!$6$Xab6yTDv$GEqYjEyz/4yBqcsVLLbLrgGQu4McQCq3DXwGzeCAW4jOobf7Jb3fJovrtCb70R1JZYLYZYYau.oCR5iKTVBCC.:17622:0:99999:7:::
-U: unlock指定使用者,解鎖使用者的密碼,這樣移除加密的密碼之前的“!”
[root@localhost ~]# usermod -U tom
[root@localhost ~]# cat /etc/shadow | grep "tom"
tom:$6$Xab6yTDv$GEqYjEyz/4yBqcsVLLbLrgGQu4McQCq3DXwGzeCAW4jOobf7Jb3fJovrtCb70R1JZYLYZYYau.oCR5iKTVBCC.:17622:0:99999:7:::
-e YYYY-MM-DD: 指定使用者賬號的過期日期 禁用日期 (從unix元年到該日期經過的天數)
[root@localhost ~]# usermod -e 2018-12-12 tom
[root@localhost ~]# cat /etc/shadow | grep "tom"
tom:$6$Xab6yTDv$GEqYjEyz/4yBqcsVLLbLrgGQu4McQCq3DXwGzeCAW4jOobf7Jb3fJovrtCb70R1JZYLYZYYau.oCR5iKTVBCC.:17622:0:99999:7::17877:
-f INACTIVE: 設定非活動期限
[root@localhost ~]# cat /etc/shadow | grep "tom" tom:$6$Xab6yTDv$GEqYjEyz/4yBqcsVLLbLrgGQu4McQCq3DXwGzeCAW4jOobf7Jb3fJovrtCb70R1JZYLYZYYau.oCR5iKTVBCC.:17622:0:99999:7:10:17877:
⑥passwd:給使用者新增密碼
passwd [OPTION] UserName 修改指定使用者的密碼,僅root使用者有許可權
passwd: 修改自己的密碼
[root@localhost ~]# passwd 更改使用者 root 的密碼 。 新的 密碼: 無效的密碼: 密碼少於 8 個字元 重新輸入新的 密碼: passwd:所有的身份驗證令牌已經成功更新。
常用選項:
-l: 鎖定指定使用者, 在/etc/shadow 密碼加密欄位的前面加入"!!"
-u: 解鎖指定使用者, 在/etc/shadow 密碼加密欄位的前面移除"!!"
-n mindays: 指定最短使用期限
[root@localhost ~]# passwd -n 7 tom Adjusting aging data for user tom. passwd: Success [root@localhost ~]# cat /etc/shadow | grep "tom" tom:$6$/M5PH/Al$mBtJBCMMbJhmrVTnXyjRO59KcSeLvsKQ8kOB0I3bTpyEMp0hpNLD0hVC4WEizh/vAcdx6Y8OWsqKimngwEHIE.:17622:7:99999:7:10:17877:
-x maxdays: 指定最大使用期限
-w warndays: 提前多少天開始警告使用者修改密碼
-i inactivedays: 非活動期限(這段時間使用者不能用修改密碼,但是修改密碼後可以繼續使用)
--stdin: 從標準輸入接收使用者的密碼
echo "PASSWD" | passwd --stdin UserName
[root@localhost ~]# echo '123456' | passwd --stdin user3
更改使用者 user3 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
注意:/dev/null, bit buckets 位桶 資料黑洞 空裝置,丟棄一切寫入其中的資料
/dev/zero, 當你讀它的時候,它會提供無限的空字元
例如上個修改密碼成功的的資訊,如果修改成功則會發出資訊,這時可以將該資訊
丟給/dev/null,則不會顯示任何資訊
若想知道是否執行成功,則可以使用echo $?命令檢視,成功則返回0
[root@localhost ~]# echo "o0p-[=" | passwd --stdin tom &> /dev/null
[root@localhost ~]# echo $?
0
⑦userdel: 刪除使用者
userdel [OPTION]... login
-r 刪除使用者家目錄
[root@localhost ~]# userdel docker
[root@localhost ~]# ll -d /home/docker
drwx------. 4 505 docker 4096 Apr 1 16:50 /home/docker
[root@localhost ~]# userdel -r centos
[root@localhost ~]# ll -d /home/centos
ls: cannot access /home/centos: No such file or directory
⑧groupmod: 組屬性修改
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
⑨groupdel: 組刪除
groupdel[OPTION]... group
groupdel GROUP:新名字
⑩gpasswd:修改組密碼
gpasswd [OPTION] GROUP
[root@localhost ~]# gpasswd gentoo
Changing the password for group gentoo
New Password:
Re-enter new password:
[root@localhost ~]# cat /etc/gshadow | grep "gentoo"
gentoo:$6$CUkW//JZ/Gm/R$6XS3FPfEa07nTZUSDkMVey3u7j6713AVAFwW1vMUBR31Ve0KVRLL6ZFIQGh.cONoZXLcL/IAH56i633z6zdu1/::
-a user: 將user新增至指定組中
[root@localhost ~]# gpasswd -a tim gentoo
Adding user tim to group gentoo
[root@localhost ~]# id tim
uid=501(tim) gid=1502(testgrp) groups=1502(testgrp),508(gentoo)
-d user: 刪除使用者user的以當期為組名的附加組
[root@localhost ~]# gpasswd -d tim gentoo
Removing user tim from group gentoo
[root@localhost ~]# id tim
uid=501(tim) gid=1502(testgrp) groups=1502(testgrp)
-A user1,user2,...: 設定有管理許可權的使用者列表,使用者之間用逗號隔開
[root@localhost ~]# gpasswd -A tim,ben root
⑾newgrp命令,臨時切換基本組
臨時切換基本組,切換後建立檔案,該檔案屬組是切換後的組
如果使用者不屬於此組,切換需要密碼
如果使用者屬於此組,切換不需要密碼
[root@localhost ~]# useradd ben
[root@localhost ~]# su - ben
[ben@localhost ~]$ newgrp mygrp
密碼:
[ben@localhost ~]$ id
uid=1002(ben) gid=1002(mygrp) 組=1002(mygrp),1005(ben)
[ben@localhost ~]$ touch d.txt
[ben@localhost ~]$ ll
總用量 0
-rw-r--r-- 1 ben mygrp 0 6月 2 11:07 d.txt
[ben@localhost ~]$ exit
exit
[ben@localhost ~]$ touch e.txt
[ben@localhost ~]$ ll
總用量 0
-rw-r--r-- 1 ben mygrp 0 6月 2 11:07 d.txt
-rw-rw-r-- 1 ben ben 0 6月 2 11:08 e.txt
⑿pwck 檢查密碼檔案的完整性
檢查密碼檔案的完整性,命令檢查使用者及其認證資訊的完整性
⒀chage:修改使用者密碼過期資訊
chage [OPTION].. login
用法:chage [選項] 登入
選項:
-d, --lastday 最近日期 將最近一次密碼設定時間設為“最近日期”
-E, --expiredate 過期日期 將帳戶過期時間設為“過期日期”
-h, --help 顯示此幫助資訊並推出
-I, --inactive INACITVE 過期 INACTIVE 天數後,設定密碼為失效狀態
-l, --list 顯示帳戶年齡資訊
-m, --mindays 最小天數 將兩次改變密碼之間相距的最小天數設為“最小天數”
-M, --maxdays 最大天數 將兩次改變密碼之間相距的最大天數設為“最大天數”
-R, --root CHROOT_DIR chroot 到的目錄
-W, --warndays 警告天數 將過期警告天數設為“警告天數”
-d: LAST_DAY 格式 YYYY-MM-DD 上一次修改密碼的日期 (相對時間,unix元年到該日期經過的天數)
-E: --expiredate EXPIRE_DATE 過期日期 格式 YYYY-MM--DD (相對時間,unix元年到該日期經過的天數)
-I: --inactive INACTIVE 設定非活動期限
-m: --mindays MIN_DAYS 設定密碼最短使用期限
-M: --maxdays MAX_DAYS 設定密碼最長使用期限
-W: --warndyas WARN_DAYS 設定提前多少天警告
⒁其他命令:chfn、chsh、finger
chfn 修改使用者的註釋資訊
chsh修改使用者的預設shell
[root@localhost ~]# tail -1 /etc/passwd
ben:x:1002:1005::/home/ben:/bin/bash
[root@localhost ~]# chsh ben
Changing shell for ben.
New shell [/bin/bash]: /bin/csh
Shell changed.
[root@localhost ~]# tail -1 /etc/passwd
ben:x:1002:1005::/home/ben:/bin/csh
finger檢視使用者的詳細資訊(Linux未裝)
二.許可權管理:
①檔案的許可權主要針對三類物件進行定義
owner:屬主,u
group:屬組,g
other:其他,o
-rw-------. 1 root root 1631 5月 5 17:57 anaconda-ks.cfg
前三位為屬主許可權(紅色),中間三位為屬組許可權(粉色),後面三位為其他許可權(藍綠色)
②每個檔案針對每類訪問者都定義了三種許可權
r:readable 可讀
w:writable 可寫
x:execuable 可執行
檔案:
r:可使用檔案檢視類工具獲取其內容 cat tac more less head tail
w:可修改其內容 nano vim vi
x:可以把此檔案提前核心啟動為一個程序 bash
目錄:
r:可以使用ls檢視此目錄中檔案列表 ls
w:可以在此目錄中建立檔案,也可刪除此目錄中的檔案 touch rm
x:可以使用ls -l檢視此目錄中檔案列表,可以cd進入此目錄 ll cd
許可權轉換二進位制數、八進位制數
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
例如:640:rw-r----- rw-r-xr-x:755
③chmod: 修改檔案許可權
三種身份(user,group,others)各自的三個許可權(r,w,x)
使用八進位制修改
chmod [OPTION]... OCTAL-MODE FILE...
-R 遞迴修改許可權
[root@localhost ~]# chmod -R 700 /tmp/test
[root@localhost ~]# ls -ld /tmp/test
drwx------ 2 root root 4096 Apr 2 09:41 /tmp/test
[root@localhost ~]# ll /tmp/test
total 0
-rwx------ 1 root root 0 Apr 2 09:41 abc
使用八進位制數修改檔案或目錄許可權
[root@localhost ~]# chmod 640 /tmp/fstab
[root@localhost ~]# ll /tmp/fstab
-rw-r----- 1 root root 621 Mar 29 19:56 /tmp/fstab
使用MODE修改
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一類或多類使用者的所有許可權,若沒有任何許可權,則留空,a表示所有三類使用者
u= 屬主
g= 屬組
o= 其他
ug= 屬主、屬組
a= 所有使用者
u= ,g= 多個使用者指定許可權 使用逗號隔開
[root@localhost ~]# chmod u=rwx /etc/fstab
[root@localhost ~]# ll /etc/fstab
-rwxr--r-- 1 root root 621 Mar 23 15:04 /etc/fstab
[root@localhost ~]# chmod g=r /etc/fstab
[root@localhost ~]# ll /etc/fstab
-rwxr--r-- 1 root root 621 Mar 23 15:04 /etc/fstab
[root@localhost ~]# chmod o= /etc/fstab
[root@localhost ~]# ll /etc/fstab
-rwxr----- 1 root root 621 Mar 23 15:04 /etc/fstab
[root@localhost ~]# chmod ug=rwx /etc/fstab
[root@localhost ~]# ll /etc/fstab
-rwxrwx--- 1 root root 621 Mar 23 15:04 /etc/fstab
[root@localhost ~]# chmod u=rwx,g=r /etc/fstab
[root@localhost ~]# ll /etc/fstab
-rwxr----- 1 root root 621 Mar 23 15:04 /etc/fstab
[root@localhost ~]# chmod a=rwx /etc/fstab
[root@localhost ~]# ll /etc/fstab
-rwxrwxrwx 1 root root 621 Mar 23 15:04 /etc/fstab
修改一類使用者某位或某些許可權
u+: +表示增加許可權
u-: -表示移除許可權
[root@localhost ~]# chmod u+r /tmp/fstab
[root@localhost ~]# ll /tmp/fstab
-rw-r--r-- 1 root root 621 Mar 29 19:56 /tmp/fstab
[root@localhost ~]# chmod u-r /tmp/fstab
[root@localhost ~]# ll /tmp/fstab
--w-r--r-- 1 root root 621 Mar 29 19:56 /tmp/fstab
參考RFILE修改
chmod [OPTION].. --reference=RFILE FILE...
參考RFILE檔案的許可權,修改FILE的許可權和RFILE一樣
[root@localhost ~]# ll /tmp/fstab
-rw-r--r-- 1 root root 0 6月 2 16:57 /tmp/fstab
[root@localhost ~]# ll /tmp/issue
-r--r--r-- 1 root root 0 6月 2 16:58 /tmp/issue
[root@localhost ~]# chmod --reference=/tmp/issue /tmp/fstab
[root@localhost ~]# ll /tmp/{issue,fstab}
-r--r--r-- 1 root root 0 6月 2 16:57 /tmp/fstab
-r--r--r-- 1 root root 0 6月 2 16:58 /tmp/issue
④修改檔案的屬主,屬組
僅root有使用許可權
chown:修改檔案的屬主
chown [OPTION]...[OWNER][:[GROUP]] FILE...
用法:
OWNER:修改檔案屬主
OWNER:GROUP: 修改檔案屬主、屬組
:GROUP: 修改檔案屬組
注意:命令中的 : 可用 . 替換
-R 遞迴修改檔案屬主、屬組
[root@localhost ~]# ll /tmp/x
總用量 0
-rwxr--r-- 1 root root 0 6月 2 16:06 a.txt
-rw-r--r-- 1 root root 0 6月 2 16:19 d
[root@localhost ~]# chown -R user2.user2 /tmp/x
[root@localhost ~]# ll /tmp/x
總用量 0
-rwxr--r-- 1 user2 user2 0 6月 2 16:06 a.txt
-rw-r--r-- 1 user2 user2 0 6月 2 16:19 d
chown [option]... --reference=rfile file... 參考rfile的屬主屬組,修改file的屬主屬組
[root@localhost ~]# chown --reference=/tmp/issue /tmp/fstab
[root@localhost ~]# ll /tmp/{issue,fstab}
--w-r--r-- 1 tom root 621 Mar 29 19:56 /tmp/fstab
-rw-r--r-- 1 tom root 74 Mar 29 22:38 /tmp/issue
chgrp: 修改檔案的屬組
chgrp [OPTION]... GROUP FILE...
[root@localhost ~]# chgrp tim /tmp/fstab
[root@localhost ~]# ll /tmp/fstab
--w-r--r-- 1 tom tim 621 Mar 29 19:56 /tmp/fstab
chgrp [option]... --reference=rfile file... 參考rfile的屬組,修改file的屬組
[root@localhost ~]# chgrp --reference=/tmp/fstab /tmp/issue
[root@localhost ~]# ll /tmp/{fstab,issue}
--w-r--r-- 1 tom tim 621 Mar 29 19:56 /tmp/fstab
-rw-r--r-- 1 tom tim 74 Mar 29 22:38 /tmp/issue
-R 遞迴修改目錄檔案的屬組
[root@localhost ~]# chgrp -R centos /tmp/test
[root@localhost ~]# ll -d /tmp/test
drwx------ 2 tom centos 4096 Apr 2 09:41 /tmp/test
[root@localhost ~]# ll /tmp/test
total 0
-rwx------ 1 tom centos 0 Apr 2 09:41 abc
⑤umask: 檔案或目錄建立的遮罩碼
建立檔案: 666-umask
建立檔案的預設許可權
[root@localhost ~]# umask
0022
[root@localhost ~]# touch /tmp/test.txt
[root@localhost ~]# ll /tmp/test.txt
-rw-r--r-- 1 root root 0 Apr 2 10:21 /tmp/test.txt
*這裡的預設umask不管第一位,為022,減後為755,這說明存在x許可權,將許可權加一,則為133,所以為644,-rw-r--r--*
注意:如果某類的使用者的許可權減得的結果中存在x執行許可權,則將其許可權+1
[root@localhost ~]# umask 023
[root@localhost ~]# touch /tmp/test1.txt
[root@localhost ~]# ll /tmp/test1.txt
-rw-r--r-- 1 root root 0 Apr 2 10:23 /tmp/test1.txt
建立目錄: 777-umask
建立目錄的預設許可權
[root@localhost ~]# umask
0022
[root@localhost ~]# mkdir /tmp/test
[root@localhost ~]# ll -d /tmp/test
drwxr-xr-x 2 root root 4096 Apr 2 10:27 /tmp/test
umask 檢視umask
[root@localhost ~]# umask
0022
umask # 設定umask
[root@localhost ~]# umask 023
[root@localhost ~]# umask
0023
用法:useradd [選項] 登入 useradd -D useradd -D [選項]
選項: -b, --base-dir BASE_DIR
新賬戶的主目錄的基目錄 -c, --comment COMMENT
新賬戶的 GECOS 欄位 -d, --home-dir HOME_DIR
新賬戶的主目錄 -D, --defaults
顯示或更改預設的 useradd 配置 -e, --expiredate EXPIRE_DATE 新賬戶的過期日期 -f, --inactive INACTIVE
新賬戶的密碼不活動期 -g, --gid GROUP
新賬戶主組的名稱或 ID -G, --groups GROUPS
新賬戶的附加組列表 -h, --help
顯示此幫助資訊並推出 -k, --skel SKEL_DIR
使用此目錄作為骨架目錄 -K, --key KEY=VALUE
不使用 /etc/login.defs 中的預設值 -l, --no-log-init
不要將此使用者新增到最近登入和登入失敗資料庫 -m, --create-home
建立使用者的主目錄 -M, --no-create-home
不建立使用者的主目錄 -N, --no-user-group
不建立同名的組 -o, --non-unique
允許使用重複的 UID 建立使用者 -p, --password PASSWORD
加密後的新賬戶密碼 -r, --system
建立一個系統賬戶 -R, --root CHROOT_DIR
chroot 到的目錄 -s, --shell SHELL
新賬戶的登入 shell -u, --uid UID
新賬戶的使用者 ID -U, --user-group
建立與使用者同名的組 -Z, --selinux-user SEUSER
為 SELinux 使用者對映使用指定 SEUSER