溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

用戶、組、權(quán)限、grep

發(fā)布時(shí)間:2020-06-12 08:44:15 來(lái)源:網(wǎng)絡(luò) 閱讀:234 作者:lkjwer 欄目:系統(tǒng)運(yùn)維

<font color=red>權(quán)限總結(jié)表</font>
操作 源目錄權(quán)限 文件權(quán)限 目標(biāo)目錄權(quán)限
rm刪文件 wx - -
mv改名 wx - -
mv移動(dòng)文件 wx r wx
cp復(fù)制文件 x r wx

生成文件 wx - -

追加內(nèi)容到文件 x w -
覆蓋文件內(nèi)容 x w -
vim編輯 x rw -
執(zhí)行二進(jìn)制文件 x x -
執(zhí)行shell腳本 x rx -
知識(shí)點(diǎn):useradd,getent,恢復(fù)家目錄,加入附加組,刪除附加組,文件目錄權(quán)限,復(fù)制文件需要的最小權(quán)限,umask,Linux特殊權(quán)限SUID,SGID,Sticky BIT;Linux特殊屬性設(shè)置與查看:chatr,lsattr;ACL權(quán)限;文件訪問(wèn)的權(quán)限順序;

cal、chown、chmod、chattr、lsattr、chpasswd、chsh(usermod -s)、chage、getent、getfacl、setfacl、groups、groupmems、groupadd、groupdel、gpasswd、head、less、more、nl、newgrp、newusers、od、tac、tail、umask、usermod、userdel、

用戶、組
查看httpd的安裝腳本
[root@centos7 ~]# rpm -q --scripts httpd
preinstall scriptlet (using /bin/sh):

Add the "apache" group and user

/usr/sbin/groupadd -g 48 -r apache 2> /dev/null || :
/usr/sbin/useradd -c "Apache" -u 48 -g apache \
-s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null || :
postinstall scriptlet (using /bin/sh):

if [ $1 -eq 1 ] ; then

Initial installation

    systemctl preset httpd.service htcacheclean.service >/dev/null 2>&1 || : 

fi
preuninstall scriptlet (using /bin/sh):

if [ $1 -eq 0 ] ; then

Package removal, not upgrade

    systemctl --no-reload disable httpd.service htcacheclean.service > /dev/null 2>&1 || : 
    systemctl stop httpd.service htcacheclean.service > /dev/null 2>&1 || : 

fi
postuninstall scriptlet (using /bin/sh):

systemctl daemon-reload >/dev/null 2>&1 || :

Trigger for conversion from SysV, per guidelines at:

https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd

posttrans scriptlet (using /bin/sh):
test -f /etc/sysconfig/httpd-disable-posttrans || \
/bin/systemctl try-restart httpd.service htcacheclean.service >/dev/null 2>&1 || :
/usr/sbin/groupadd -g 48 -r apache 2> /dev/null
groupadd創(chuàng)建組,-g指定gid,-r指定系統(tǒng)組,apache為創(chuàng)建的組名。2>/dev/null不打印錯(cuò)誤信息

/usr/sbin/useradd -c "Apache" -u 48 -g apache -s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null
useradd創(chuàng)建用戶,-c"Apache"為用戶說(shuō)明,-u 48指定uid,-g apache指定主組,-s /sbin/nologin指定用戶默認(rèn)shell類型,-r指定為系統(tǒng)用戶,-d /usr/share/httpd 指定該用戶的家目錄,2>/dev/null不輸出錯(cuò)誤信息

ubuntu創(chuàng)建用戶:useradd -ms /bin/bash zhangsan,ubuntu默認(rèn)創(chuàng)建用戶不創(chuàng)建家目錄,要加-m參數(shù),默認(rèn)shell為sh,要使用-s /bin/bash指定shell

useradd -r -s /sbin/nologin mysql
創(chuàng)建系統(tǒng)類型的mysql用戶,shell類型為/sbin/nologin

修改密碼:
1、passwd --stdin(ubuntu不支持)
[root@centos7 ~]# echo 123 | passwd --stdin alice
更改用戶 alice 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
2、chpasswd(通用型ubuntu和centos都可以)
chpasswd可以用于批量改密碼

[root@centos7 ~]# echo alice:123 | chpasswd
3、passwd -q(通用型)
[root@centos7 ~]# echo -e "123\n123" | passwd alice
更改用戶 alice 的密碼 。
新的 密碼:無(wú)效的密碼: 密碼少于 8 個(gè)字符
重新輸入新的 密碼:passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
4、passwd其他參數(shù)
usermod -L也可以實(shí)現(xiàn)鎖定用戶,usermod -U也可以實(shí)現(xiàn)解鎖用戶

-e:讓某用戶密碼過(guò)期,下次登陸必須改密碼。passwd -e alice

-l:鎖定用戶,下次無(wú)法登陸。passwd -l alice.
-u:與-l相反,解鎖用戶。passwd -u alice
newusers批量創(chuàng)建用戶,chpasswd批量改密碼
通過(guò)passwd格式的文件批量創(chuàng)建用戶

[root@centos7 ~]# cat users.txt
wangmazi:x:2000:2000:wangmazi:/home/wangmazi:/bin/bash
wangmazi2:x:2001:2001:wangmazi2:/home/wangmazi2:/bin/bash
[root@centos7 ~]# newusers users.txt
[root@centos7 ~]# id wangmazi
uid=2000(wangmazi) gid=2000(wangmazi) 組=2000(wangmazi)
[root@centos7 ~]# id wangmazi2
uid=2001(wangmazi2) gid=2001(wangmazi2) 組=2001(wangmazi2)
[root@centos7 ~]# cat passwd.txt
wangmazi:123
wangmazi2:123
[root@centos7 ~]# cat passwd.txt | chpasswd
[root@centos7 ~]# getent shadow wangmazi
wangmazi:$6$GTDPf/xUtOE$2XBjr7prZI0mr3M4SH1z4/Gmhoyut/IWv6YOKQd1jhGYl8NweXhIH7sFQDbATniaKlR4ZPHlnJZTqhOJpDLyC1:18104:0:99999:7:::
[root@centos7 ~]# getent shadow wangmazi2
wangmazi2:$6$CZ6RG/ndilFV2s$gsl4mVNkE/QlctHn6EQDw74uilWofVSjuw8bYOfeh4LqUP8INw7R46THhzfSY88AYvpJMHSM43Psgu1Y5ODBw1:18104:0:99999:7:::
創(chuàng)建目錄的隱藏文件哪來(lái)的?
/etc/skel/目錄來(lái)的,希望新建的用戶家目錄有某某某文件,把文件放到/etc/skel目錄即可

[root@centos7 ~]# ls /home/alice/ -a
. .bash_logout .bashrc 模板
.. .bash_profile .mozilla
[root@centos7 ~]# ls /etc/skel/ -a
. .bash_logout .bashrc 模板
.. .bash_profile .mozilla
用戶的默認(rèn)配置,默認(rèn)家目錄,默認(rèn)shell,默認(rèn)mail等等在哪里配置?
/etc/login.defs /etc/useradd

[root@centos7 ~]# grep -Ev "^$|#" /etc/login.defs
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
[root@centos7 ~]# grep -Ev "^$|#" /etc/default/useradd
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
getent查看某用戶的passwd庫(kù)、shadow庫(kù)、group庫(kù)等信息
更多可以看getent --help

[root@centos7 ~]# getent passwd alice
alice:x:2006:2006::/home/alice:/bin/bash
[root@centos7 ~]# getent group alice
alice:x:2006:
[root@centos7 ~]# getent shadow alice
alice:!!:18104:0:99999:7:::
useradd幫助
不想創(chuàng)建家目錄可以使用-M,ubuntu默認(rèn)就不創(chuàng)建家目錄,centos默認(rèn)會(huì)創(chuàng)建家目錄

[root@centos7 ~]# useradd --help
用法:useradd [選項(xiàng)] 登錄
useradd -D
useradd -D [選項(xiàng)]

選項(xiàng):
-b, --base-dir BASE_DIR 新賬戶的主目錄的基目錄
-c, --comment COMMENT 新賬戶的 GECOS 字段
-d, --home-dir HOME_DIR 新賬戶的主目錄
-D, --defaults 顯示或更改默認(rèn)的 useradd 配置
-e, --expiredate EXPIRE_DATE 新賬戶的過(guò)期日期
-f, --inactive INACTIVE 新賬戶的密碼不活動(dòng)期
-g, --gid GROUP 新賬戶主組的名稱或 ID
-G, --groups GROUPS 新賬戶的附加組列表
-h, --help 顯示此幫助信息并推出
-k, --skel SKEL_DIR 使用此目錄作為骨架目錄
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默認(rèn)值
-l, --no-log-init 不要將此用戶添加到最近登錄和登錄失敗數(shù)據(jù)庫(kù)
-m, --create-home 創(chuàng)建用戶的主目錄
-M, --no-create-home 不創(chuàng)建用戶的主目錄
-N, --no-user-group 不創(chuàng)建同名的組
-o, --non-unique 允許使用重復(fù)的 UID 創(chuàng)建用戶
-p, --password PASSWORD 加密后的新賬戶密碼
-r, --system 創(chuàng)建一個(gè)系統(tǒng)賬戶
-R, --root CHROOT_DIR chroot 到的目錄
-s, --shell SHELL 新賬戶的登錄 shell
-u, --uid UID 新賬戶的用戶 ID
-U, --user-group 創(chuàng)建與用戶同名的組
-Z, --selinux-user SEUSER 為 SELinux 用戶映射使用指定 SEUSER
給alice用戶添加三個(gè)附加組:root,bob,jerry
usermod命令如果僅使用-G選項(xiàng),新的附加組會(huì)替換舊的附加組,-aG表示追加附加組,不影響原有的附加組。-G ""可以清除該用戶的所有附加組

[root@centos7 ~]# usermod -aG root,bob,jerry alice
查看alice加入了那些組
[root@centos7 ~]# id alice
uid=2006(alice) gid=2006(alice) 組=2006(alice),0(root),1006(bob),1007(jerry)
查看root組有哪些附加用戶
[root@centos7 ~]# getent group root
root:x:0:gentoo,alice
[root@centos7 ~]# groupmems -g root -l
gentoo alice
把a(bǔ)lice踢出root組
[root@centos7 ~]# groupmems -g root -d alice
[root@centos7 ~]# id alice
uid=2006(alice) gid=2006(alice) 組=2006(alice),1006(bob),1007(jerry)
清除alice的所有附加組
使用空來(lái)替換alice原有的附加組,

[root@centos7 ~]# usermod -G "" alice
[root@centos7 ~]# id alice
uid=2006(alice) gid=2006(alice) 組=2006(alice)
groupmems幫助
[root@centos7 ~]# groupmems --help
用法:groupmems [選項(xiàng)] [動(dòng)作]

選項(xiàng):
-g, --group groupname 更改組 groupname,而不是用戶的組(只 root)
-R, --root CHROOT_DIR chroot 到的目錄

動(dòng)作:
-a, --add username 將用戶 username 添加到組成員中
-d, --delete username 從組的成員中刪除用戶 username
-h, --help 顯示此幫助信息并推出
-p, --purge 從組中移除所有成員
-l, --list 列出組中的所有成員
如果alice家目錄被刪,家目錄沒(méi)東西,如何快速恢復(fù)alice家目錄
1、/etc/skel恢復(fù)
[root@centos7 ~]# rm -rf /home/alice/
[root@centos7 ~]# cp /etc/skel /home/alice -a
[root@centos7 ~]# chmod 700 /home/alice
[root@centos7 ~]# chown alice:alice /home/alice -R
2、新建用戶恢復(fù)
[root@centos7 ~]# rm -rf /home/alice/
[root@centos7 ~]# useradd rose
[root@centos7 ~]# cp /home/{rose,alice} -a
[root@centos7 ~]# chown alice:alice /home/alice -R
[root@centos7 ~]# userdel -r rose
定義別名,防止rm誤刪
[root@centos7 ~]# mkdir /data/.trash -p
[root@centos7 ~]# echo "alias rm='mv -t /data/.trash'" >> ~/.bashrc
[root@centos7 ~]# . ~/.bashrc
[root@centos7 ~]# rm hello.txt
[root@centos7 ~]# ls /data/.trash/
hello.txt
通過(guò)id命令判斷用戶是否存在,不存在則創(chuàng)建
-u -G

[root@centos7 ~]# id root
uid=0(root) gid=0(root) 組=0(root)
[root@centos7 ~]# id wang
uid=1003(wang) gid=1003(wang) 組=1003(wang),10(wheel)
切換用戶
1、su wang(不完全切換,類似于出差)
切換到wang用戶,PATH變量,環(huán)境不變,當(dāng)前目錄不變

2、su -l wang(完全切換,類似于搬家)
-l即--login,表示完全切換,可以縮寫(xiě)成su - wang,

3、nologin的用戶不能切
系統(tǒng)用戶一般都是nologin,不能切換

4、臨時(shí)切換root執(zhí)行個(gè)命令
[qqq@centos7 ~]$ su - -c "cat /etc/shadow"
修改用戶密碼策略chage
chage

[root@centos7 ~]# chage --help
用法:chage [選項(xiàng)] 登錄

選項(xiàng):
-d, --lastday 最近日期 將最近一次密碼設(shè)置時(shí)間設(shè)為“最近日期”
-E, --expiredate 過(guò)期日期 將帳戶過(guò)期時(shí)間設(shè)為“過(guò)期日期”
-h, --help 顯示此幫助信息并推出
-I, --inactive INACITVE 過(guò)期 INACTIVE 天數(shù)后,設(shè)定密碼為失效狀態(tài)
-l, --list 顯示帳戶年齡信息
-m, --mindays 最小天數(shù) 將兩次改變密碼之間相距的最小天數(shù)設(shè)為“最小天數(shù)”
-M, --maxdays 最大天數(shù) 將兩次改變密碼之間相距的最大天數(shù)設(shè)為“最大天數(shù)”
-R, --root CHROOT_DIR chroot 到的目錄
-W, --warndays 警告天數(shù) 將過(guò)期警告天數(shù)設(shè)為“警告天數(shù)”
chfn指定個(gè)人信息
chsh修改用戶shell,等于usermod -s
newgrp
創(chuàng)建用戶gentoo,附加組為bin和root,默認(rèn)shell為/bin/csh,注釋信息為”Gentoo Distribution“
[root@centos7 ~]# getent passwd gentoo
[root@centos7 ~]# useradd gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"
[root@centos7 ~]# getent passwd gentoo
gentoo:x:2007:2007:Gentoo Distribution:/home/gentoo:/bin/csh
創(chuàng)建下面的用戶、組、成員關(guān)系
名字為webs的組

用戶nginx,使用webs作為附加組

用戶varnish,使用webs作為附加組

用戶mysql,不可交互登陸系統(tǒng),不是webs組成員。nginx,mysql,varnish密碼都是magedu

[root@centos7 ~]# getent group webs
webs:x:2008:
[root@centos7 ~]# getent passwd nginx varnish mysql
nginx:x:987:981:nginx user:/var/cache/nginx:/sbin/nologin
mysql:x:986:980::/home/mysql:/sbin/nologin
[root@centos7 ~]# userdel -r nginx
[root@centos7 ~]# groupdel webs
[root@centos7 ~]#
[root@centos7 ~]# groupadd webs
[root@centos7 ~]# useradd -G webs nginx
[root@centos7 ~]# useradd -G webs mysql
[root@centos7 ~]# userdel -r mysql
[root@centos7 ~]# useradd -G webs varnish
[root@centos7 ~]# useradd -s /sbin/nologin mysql
[root@centos7 ~]# echo magedu | passwd --stdin nginx
更改用戶 nginx 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@centos7 ~]# echo magedu | passwd --stdin mysql
更改用戶 mysql 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@centos7 ~]# echo magedu | passwd --stdin varnish
更改用戶 varnish 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@centos7 ~]# getent passwd nginx varnish mysql
nginx:x:2008:2009::/home/nginx:/bin/bash
varnish:x:2009:2010::/home/varnish:/bin/bash
mysql:x:2010:2011::/home/mysql:/sbin/nologin
[root@centos7 ~]# groupmems -g webs -l
nginx varnish
[root@centos7 ~]# getent shadow nginx mysql varnish
nginx:$6$hch9C3JT$oK5.j.CG8rJ1kndv542EbBBEtdB2SYqER9n8m48KUtr0wFuENZviQL2X/IO6CfsAfyYpZH4F856JGRIpCSgit.:18104:0:99999:7:::
mysql:$6$iODHihkf$slMMlr2yfQO9NY6Ob/QIV4t8VaFm7yQRLg4VIRJTB6ZGi3a9RqBE8VMo/fzU3u2bjP9nakiai8W.0Y2CRsFr/:18104:0:99999:7:::
varnish:$6$pdjOkLXJ$D4Xzm3v8oyiQjakHhmU/5Yg.05XKDZCsUWoWZ7e7HtqyW6WacfjJqEZWMZudDECoqdRtWNS8szrDg8tDHm1y60:18104:0:99999:7:::
文件權(quán)限
圖片參考:Linux文件屬性詳解
參考:Linux文件權(quán)限的總結(jié)詳解
用戶、組、權(quán)限、grep
chmod幫助
[root@centos7 ~]# chmod --help
用法:chmod [選項(xiàng)]... 模式[,模式]... 文件...
 或:chmod [選項(xiàng)]... 八進(jìn)制模式 文件...
 或:chmod [選項(xiàng)]... --reference=參考文件 文件...
Change the mode of each FILE to MODE.
With --reference, change the mode of each FILE to that of RFILE.

-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出

Each MODE is of the form '[ugoa]([-+=]([rwxXst]|[ugo]))+|[-+=][0-7]+'.
文件的權(quán)限:
r:可以讀取文件

w:可以修改、增加文件內(nèi)容。(1)如果沒(méi)r權(quán)限,則不能vim,只能覆蓋或追加。(2)能否刪文件取決于父目錄的權(quán)限

x:執(zhí)行權(quán)限。(1)沒(méi)有r權(quán)限,不能執(zhí)行shell腳本,會(huì)報(bào)權(quán)限不足,但能執(zhí)行二進(jìn)制程序。

目錄的權(quán)限:
r:具有瀏覽目錄的功能。(1)沒(méi)有x權(quán)限,不能進(jìn)入目錄,ls -l只能看到文件名,看不到文件權(quán)限信息。不能進(jìn)入目錄的子目錄。

w:必須配合x(chóng)權(quán)限。具有增加,刪除,修改,移動(dòng),復(fù)制目錄內(nèi)的文件。(1)沒(méi)有x權(quán)限,不能vim創(chuàng)建文件,不能使用重定向創(chuàng)建文件。(2)沒(méi)r權(quán)限,不能看到目錄下的文件; (3)沒(méi)x權(quán)限,不能修改文件名。目錄有了wx權(quán)限,可以刪除,改名文件(前提知道目錄下的文件名)(4)不能修改目錄下別人文件的權(quán)限,能否追加內(nèi)容,查看文件內(nèi)容還要取決于該文件的權(quán)限。(5)移動(dòng)目錄內(nèi)的文件除了目錄需要wx,文件也需要r(6)cp文件,目錄不需要w

x:能進(jìn)入目錄。(1)沒(méi)r權(quán)限,看不到目錄內(nèi)容(2)沒(méi)w權(quán)限,不能創(chuàng)建,刪除,修改mv(3)cp文件除了目錄需要x,文件也需要r

面試題:完成下列操作需要的最小權(quán)限:
cp /etc/fstab /data/testdir/
1、用戶要有cp命令的執(zhí)行權(quán)限(shell腳本還需要r權(quán)限);

2、/etc目錄要有x權(quán)限(可以進(jìn)去)

3、fstab需要r

4、/data目錄需要x權(quán)限(可以進(jìn)去)

5、/data/testdir目錄需要wx權(quán)限(可以進(jìn)去并修改)

權(quán)限總結(jié)
操作 源目錄權(quán)限 文件權(quán)限 目標(biāo)目錄權(quán)限
rm刪文件 wx - -
mv改名 wx - -
mv移動(dòng)文件 wx r wx
cp復(fù)制文件 x r wx

生成文件 wx - -

追加內(nèi)容到文件 x w -
覆蓋文件內(nèi)容 x w -
vim編輯 x rw -
執(zhí)行二進(jìn)制文件 x x -
執(zhí)行shell腳本 x rx -
umask與權(quán)限
打印umask值 : umask
umask默認(rèn)值022
創(chuàng)建的文件的默認(rèn)權(quán)限:666-umask(如果出現(xiàn)奇數(shù),奇數(shù)加一)
因?yàn)槲募J(rèn)不能有執(zhí)行權(quán)限,很危險(xiǎn)

比如umask=023,創(chuàng)建的文件權(quán)限=666-023=643,3是奇數(shù),加一,最終權(quán)限為644

創(chuàng)建的目錄的默認(rèn)權(quán)限:777-umask
比如umask=023,創(chuàng)建的目錄權(quán)限為777-023=654

設(shè)置umask
echo "umask 022" >> ~/.bashrc

Linux特殊權(quán)限:SUID、SGID、SBIT
SUID
操作對(duì)象:可執(zhí)行的二進(jìn)制文件
作用:讓普通用戶臨時(shí)擁有某執(zhí)行文件所有者的權(quán)限(讓本來(lái)沒(méi)有相應(yīng)權(quán)限的用戶運(yùn)行這個(gè)程序時(shí),可以訪問(wèn)他沒(méi)有權(quán)限訪問(wèn)的資源)
例如:passwd
[root@centos7 ~]# which passwd | xargs ls -l
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
使用方法:chmod 4744 file1 chmod +s file1
SGID
1、作用于目錄:當(dāng)用戶在此目錄下創(chuàng)建文件時(shí),文件的所屬組會(huì)自動(dòng)繼承目錄的所屬組
2、作用于二進(jìn)制可執(zhí)行文件:當(dāng)用戶執(zhí)行此程序時(shí),將會(huì)臨時(shí)繼承此程序所屬組的權(quán)限
SBIT
操作對(duì)象:目錄
作用:粘滯位,只能針對(duì)目錄設(shè)置,設(shè)置后只有文件所有者或者root才可以刪除和移動(dòng)其中的文件
例如:/tmp目錄
[root@centos7 ~]# ll /tmp -d
drwxrwxrwt. 15 root root 4096 7月 28 21:17 /tmp
使用方法:chmod 1755 /data chmod +t /data
Linux特殊屬性
chattr
i屬性:加上后不能修改文件,包括刪除,改名
a屬性:加上后只能追加文件
lsattr
顯示文件屬性

[root@centos7 ~]# chattr +i /etc/passwd #加i屬性
[root@centos7 ~]# lsattr /etc/passwd #查看特殊屬性
----i----------- /etc/passwd
[root@centos7 ~]# rm /etc/passwd #刪除不了
rm:是否刪除普通文件 "/etc/passwd"?y
rm: 無(wú)法刪除"/etc/passwd": 不允許的操作
[root@centos7 ~]# mv /etc/{passwd,p} #改名失敗
mv: 無(wú)法將"/etc/passwd" 移動(dòng)至"/etc/p": 不允許的操作
[root@centos7 ~]# echo hello >> /etc/passwd #追加失敗
-bash: /etc/passwd: 權(quán)限不夠
[root@centos7 ~]# chattr -i /etc/passwd #去掉i屬性
[root@centos7 ~]# lsattr /etc/passwd #查看屬性
---------------- /etc/passwd
ACL權(quán)限
Access Control list:訪問(wèn)控制列表

單獨(dú)給某用戶,某組來(lái)這設(shè)置權(quán)限

CentOS之前版本,默認(rèn)手工創(chuàng)建的ext4系統(tǒng)無(wú)ACL功能,需要手動(dòng)增加
tune2fs -o acl /dev/sdb1
mount -o acl /dev/sdb1 /mnt/test
setfacl -m 設(shè)置ACL權(quán)限
setfacl -x 取消權(quán)限
setfacl -b 文件 清除全部ACL權(quán)限
getfacl file 查看ACL權(quán)限
[root@centos7 ~]# setfacl -m u:qqq:w date.sh #設(shè)置ACL
[root@centos7 ~]# getfacl date.sh #查看ACL

file: date.sh

owner: root

group: root

user::---
user:qqq:-w-
group::---
mask::-w-
other::--x

[root@centos7 ~]# setfacl -x u:qqq date.sh
[root@centos7 ~]# getfacl date.sh

file: date.sh

owner: root

group: root

user::---
group::---
mask::---
other::--x
[root@centos7 ~]# setfacl -x date.sh #清除所有ACL權(quán)限
ACL生效順序:文件所有者,自定義用戶,自定義組+所屬組累加權(quán)限,其他人

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI