0
点赞
收藏
分享

微信扫一扫

Rocky基础知识2


1、useradd 更改默认设置

useradd -D 显示默认设置 #/etc/default/useradd

[root@rocky8-1 ~]#useradd -D
GROUP=1001
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

useradd -D -s shell类型 # 修改默认shell类型

[root@rocky8-1 ~]#useradd -D -s /sbin/nologin 
[root@rocky8-1 ~]#useradd -D
GROUP=1001
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/sbin/nologin
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

useradd -D -b 家目录 #修改默认家目录

[root@rocky8-1 ~]#useradd -D -b /tmp
[root@rocky8-1 ~]#useradd -D
GROUP=1001
HOME=/tmp
INACTIVE=-1
EXPIRE=
SHELL=/sbin/nologin
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

新建用户的相关文件

/etc/default/useradd

/etc/skel/*

/etc/login.defs

2、用户密码策略

chage 可以修改和显示用户密码策略

格式:

chage 选项 用户

选项:

-d 更改密码时间,0 就是下次登录必须修改密码

-m 密码最小生存时间

-M 密码有效期

-W 密码到期前几天提醒

-I 密码过期后的宽限期

-E 用户账户有效期

-l 显示用户密码策略

例:

[root@rocky8-1 ~]#chage -d 0  u1
[root@rocky8-1 ~]#getent shadow u1
u1:$6$dx3tukk85vHhIVhB$cA6x7w/EjtYooRUlqZxN23pJujA/5R9HvN8VE12HDBfL0ffKaphszbbDZqqS6Be6W85bzDEqls8tscWcg9URO.:19178:0:99999:7:::

[root@rocky8-1 ~]#chage -m 1 u1
[root@rocky8-1 ~]#getent shadow u1
u1:$6$dx3tukk85vHhIVhB$cA6x7w/EjtYooRUlqZxN23pJujA/5R9HvN8VE12HDBfL0ffKaphszbbDZqqS6Be6W85bzDEqls8tscWcg9URO.:19178:1:99999:7:::

[root@rocky8-1 ~]#chage -M 10 u1
[root@rocky8-1 ~]#getent shadow u1
u1:$6$dx3tukk85vHhIVhB$cA6x7w/EjtYooRUlqZxN23pJujA/5R9HvN8VE12HDBfL0ffKaphszbbDZqqS6Be6W85bzDEqls8tscWcg9URO.:19178:1:10:7:::

[root@rocky8-1 ~]#chage -W 3 u1
[root@rocky8-1 ~]#getent shadow u1
u1:$6$dx3tukk85vHhIVhB$cA6x7w/EjtYooRUlqZxN23pJujA/5R9HvN8VE12HDBfL0ffKaphszbbDZqqS6Be6W85bzDEqls8tscWcg9URO.:19178:1:10:3:::

[root@rocky8-1 ~]#chage -I 5 u1
[root@rocky8-1 ~]#getent shadow u1
u1:$6$dx3tukk85vHhIVhB$cA6x7w/EjtYooRUlqZxN23pJujA/5R9HvN8VE12HDBfL0ffKaphszbbDZqqS6Be6W85bzDEqls8tscWcg9URO.:19178:1:10:3:5::

[root@rocky8-1 ~]#chage -E 19199 u1
[root@rocky8-1 ~]#getent shadow u1
u1:$6$dx3tukk85vHhIVhB$cA6x7w/EjtYooRUlqZxN23pJujA/5R9HvN8VE12HDBfL0ffKaphszbbDZqqS6Be6W85bzDEqls8tscWcg9URO.:19178:1:10:3:5:19199:

[root@rocky8-1 ~]#chage -l u1
Last password change : Jul 05, 2022
Password expires : Jul 15, 2022
Password inactive : Jul 20, 2022
Account expires : Jul 26, 2022
Minimum number of days between password change : 1
Maximum number of days between password change : 10
Number of days of warning before password expires : 3

3、文件的权限

owner 属主(所有者)u

group 属组(所属组)g

other 其他(其他人)o

注:用户权限匹配,是从左往右顺序匹配,即,先匹配所有者,再匹配所属组,最后匹配其他人,一旦匹配到权限立即生效,不在向右查看其它权限。

r和w权限对root无效

只要所有者、所属组、其他人种任意一个有x权限 ,root就可以执行

[root@rocky8-1 ~]#ll
total 12
-rw-------. 1 root root 1438 Jul 2 10:43 anaconda-ks.cfg
-rw-r--r--. 1 root magedu 2955 Jul 5 15:58 f2.txt
-rw-r--r--. 1 root root 1728 Jul 2 10:52 initial-setup-ks.cfg


对文件的权限:

r 可使用文件查看类工具,比如: cat,可以获取其内容

w 可修改其内容,文件的是否被删除和文件的权限无关(和目录权限有关)

x 可以把此文件启动为一个进程,即可以执行(运行〉, (此文件的内容必须是可执行)

文件常见权限组合

- - -   0
r - - 4
r - x 5
r w - 6
r w x 7

对目录的权限

r 可以使用 ls 命令查看此目录中文件名列表,但无法看到文件的属性meta信息,包括inode号,不能查看文件的内容

w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关

x 可以使用 cd 命令进入此目录,可以使用 ls -l file 或stat file查看此目录中指定文件的元数据,当预先知道文件名称时,也可以查看文件的内容,属于目录的可访问的最小权限

X 分配给目录或有部分x权限的文件的x权限,对无任意x权限的文件则不会分配x权限

目录权限常见组合

---不能访问目录

r-x只读目录

rwx可读也可写目录

4、特殊权限

特殊权限:SUID, SGID, Sticky

SUID 作用于二进制可执行文件上,用户将继承此程序所有者的权限

SGID 作用于二进制可执行文件上,用户将继承此程序所有组的权限

作于于目录上, 此目录中新建的文件的所属组将自动从此目录继承

STICKY 作用于目录上,此目录中的文件只能由所有者自已来删除

SUID

  • 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
  • 启动为进程之后,其进程的属主为原程序文件的属主
  • SUID只对二进制可执行程序有效
  • SUID设置在目录上无意义

SUID权限设定:

chmod u+s  二进制文件
chmod 4xxx 二进制文件
chmod u-s 二进制文件

例:

[root@rocky8-1 ~]#chmod u+s /usr/bin/cat  #给cat命令加SUID权限
[root@rocky8-1 ~]#ll /usr/bin/cat
-rwsr-xr-x. 1 root root 38528 Oct 21 2021 /usr/bin/cat

[magedu@rocky8-1 ~]$ cat /etc/shadow #普通用户也可以通过cat命令查看shadow文件🤢🤢🤔🤢
root:$6$yHvOcFDvTFVaHdBH$9k3E8SBeDp86LBct5ml3Ih85q4VMKjutuNPUxQgdmPIwohH.wbjXPdrl4j4dGMQJB9TgyAJyWciI96W4D8GMp/:19176:0:99999:7:::

SGID

  • 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
  • 启动为进程之后,其进程的属组为原程序文件的属组

SGID权限设定:

chmod g+s  二进制文件|目录
chmod 2xxx 二进制文件|目录
chmod g-s 二进制文件|目录

例:

[root@rocky8-1 tmp]#chmod g+s dir
[root@rocky8-1 tmp]#ll
total 0
drwxr-sr-x. 2 magedu magedu 6 Jul 5 15:04 dir
[root@rocky8-1 tmp]#cd dir
[root@rocky8-1 dir]#mkdir dir333
[root@rocky8-1 dir]#mkdir dir444
[root@rocky8-1 dir]#touch f1
[root@rocky8-1 dir]#ll
total 0
drwxr-sr-x. 2 root magedu 6 Jul 5 20:31 dir333
drwxr-sr-x. 2 root magedu 6 Jul 5 20:31 dir444
-rw-r--r--. 1 root magedu 0 Jul 5 20:31 f1

STICKY

  • 具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
  • 在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
  • sticky 设置在文件上无意义

Sticky权限设定:

chmod o+t  目录
chmod 1xxx 目录
chmod o-t 目录

例:

[root@rocky8-1 tmp]#chmod o+t dir
[root@rocky8-1 tmp]#ll
total 0
drwxr-xrwt. 2 root root 6 Jul 5 20:33 dir

[root@rocky8-1 dir]#ll
total 0
-rw-rw-r--. 1 magedu magedu 0 Jul 5 20:38 magedu.txt
-rw-rw-r--. 1 u1 u1 0 Jul 5 20:39 u1.txt
-rw-rw-r--. 1 u2 u2 0 Jul 5 20:40 u2.txt
-rw-rw-r--. 1 u3 u3 0 Jul 5 20:40 u3.txt

[magedu@rocky8-1 dir]$ rm -f u1.txt
rm: cannot remove 'u1.txt': Operation not permitted
[magedu@rocky8-1 dir]$ rm -f u2.txt
rm: cannot remove 'u2.txt': Operation not permitted

权限位映射 SUID: user,占据属主的执行权限位

s:属主拥有x权限

S:属主没有x权限

SGID: group,占据属组的执行权限位

s: group拥有x权限

S:group没有x权限

Sticky: other,占据other的执行权限位

t:other拥有x权限

T:other没有x权限

5、文件特殊属性
  • 设置文件的特殊属性,可以防止root 用户误操作删除或修改文件

a、不能删除,改名,更改 +i

chattr +i 文件

显示特殊属性 lsattr

例:

[root@rocky8-1 tmp]#chattr +i dir
[root@rocky8-1 tmp]#ll
total 0
drwxr-xr-x. 2 root root 66 Jul 5 20:40 dir
[root@rocky8-1 tmp]#rm -rf dir
rm: cannot remove 'dir/magedu.txt': Operation not permitted
rm: cannot remove 'dir/u1.txt': Operation not permitted
rm: cannot remove 'dir/u2.txt': Operation not permitted
rm: cannot remove 'dir/u3.txt': Operation not permitted
[root@rocky8-1 tmp]#lsattr dir
-------------------- dir/magedu.txt
-------------------- dir/u1.txt
-------------------- dir/u2.txt
-------------------- dir/u3.txt
[root@rocky8-1 tmp]#lsattr /tmp/dir -d
----i--------------- /tmp/dir
[root@rocky8-1 tmp]#chattr -i dir
[root@rocky8-1 tmp]#lsattr -d dir
-------------------- dir

b、只能追加内容,不能删除,改名 +a

chattr +a 文件

显示特殊属性 lsattr

例:

[root@rocky8-1 tmp]#chattr +a dir
[root@rocky8-1 tmp]#lsattr -d dir
-----a-------------- dir
[root@rocky8-1 tmp]#cd dir
[root@rocky8-1 dir]#ls
magedu.txt u1.txt u2.txt u3.txt
[root@rocky8-1 dir]#vim u1.txt
[root@rocky8-1 dir]#echo 123 >> u1.txt
[root@rocky8-1 dir]#rm -f u1.txt
rm: cannot remove 'u1.txt': Operation not permitted
[root@rocky8-1 dir]#mv u1.txt hhh.txt
mv: cannot move 'u1.txt' to 'hhh.txt': Operation not permitted

6、ACL访问控制列表

ACL权限功能:

ACL:Access Control List,实现灵活的权限管理

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

ACL生效顺序:

所有者,自定义用户,所属组 | 自定义组,其他人

setfacl 可设置ACL权限

getfacl 可查看设置的ACL权限

例:

[root@rocky8-1 dir]#setfacl -m u:magedu:- magedu.txt
[root@rocky8-1 dir]#ll
total 0
-rw-rw-r--+ 1 root root 0 Jul 5 20:38 magedu.txt
[root@rocky8-1 dir]#getfacl magedu.txt
# file: magedu.txt
# owner: root
# group: root
user::rw-
user:magedu:---
group::rw-
mask::rw-
other::r--
[root@rocky8-1 dir]#su magedu
[magedu@rocky8-1 dir]$ cat magedu.txt
cat: magedu.txt: Permission denied
[magedu@rocky8-1 dir]$ echo 123 >> magedu.txt
bash: magedu.txt: Permission denied


[root@rocky8-1 dir]#setfacl -m g:m50:w magedu.txt
[root@rocky8-1 dir]#getfacl magedu.txt
# file: magedu.txt
# owner: root
# group: root
user::rw-
user:magedu:---
group::rw-
group:m50:-w-
mask::rw-
other::r--


[root@rocky8-1 dir]#id magedu
uid=1000(magedu) gid=1000(magedu) groups=1000(magedu)
[root@rocky8-1 dir]#id u1
uid=1002(u1) gid=1002(u1) groups=1002(u1)
[root@rocky8-1 dir]#su u1
[u1@rocky8-1 dir]$ cat magedu.txt
111
222
333

[root@rocky8-1 dir]#gpasswd -a u1 m50
Adding user u1 to group m50
[root@rocky8-1 dir]#getent group u1
u1:x:1002:

[root@rocky8-1 dir]#su u1
[u1@rocky8-1 dir]$ echo u1 >> magedu.txt
[u1@rocky8-1 dir]$ cat magedu.txt
cat: magedu.txt: Permission denied


[root@rocky8-1 dir]#groupmems -a magedu -g m50
[root@rocky8-1 dir]#su magedu
[magedu@rocky8-1 dir]$ cat magedu.txt
cat: magedu.txt: Permission denied
[magedu@rocky8-1 dir]$ echo mage >> magedu.txt
bash: magedu.txt: Permission denied
注:在getfacl里已经自定义magedu用户的权限为空,按照acl执行顺序判断,先匹配所有者,再匹配自定义用户,
再匹配所属组或自定义组,最后匹配其他人;所以此时先匹配所有者root是否有acl,
在匹配自定义用户magedu,magedu已经定了acl权限为无任何权限,所以不往后匹配。

举报

相关推荐

0 条评论