第二周.系统管理相关的操作总结
一.相关命令解读
以下是一些以root身份在Rocky操作系统下涉及到系统与用户管理的相关的知识与命令介绍、操作及总结:
1.普通用户通常在”/home/用户名“下,例如"weibao"在"/home/weibao"下,我们可以通过“cd /home/weibao/"切换到该用户的家目录,如图所示:
2."/etc/passwd"用于查看用户属性信息,”/etc/shadow"用于查看用户密码,可以使用“cat /etc/passwd"和”cat /etc/shadow"进行查看。
3.“useradd -m 用户"命令被用来添加用户,例如可以使用”useradd -m haohao"来添加“haohao"用户,之后可以使用”ls /home/“来查看普通用户,如图所示,”haohao"已被添加为普通用户。
4."userdel -r 用户"命令用来删除用户,例如可以使用”userdel -f haohao"来删除“haohao"用户,之后可以使用”ls /home/“来查看普通用户,如图所示,”haohao"已被删除。
4.同理类似,“groupadd 组名”命令被用来创建组,“groupdel -f 组名”命令被用来删除组。这里我们使用“groupadd onegroup"命令来添加组。
5.”groupmems -g 组名 -a 用户“命令用来向该组添加用户,”groupmems -g 组名 -d 用户“命令被用来向该组删除用户,”groupmems -g 组名 -l“命令被用来显示该组的用户,具体演示如图所示:
6.”whereis 命令“用来查看命令的路径,例如"whereis ls"用来查看“ls”命令的路径,如图所示:
二.权限操作的解读
权限操作通常分为三类:读权限(r)、写权限(w)、执行权限(x)。
1.执行权限,对于文件来说,表示该文件是可执行的程序;对于目录来说,表示用户可以进入该目录,先用”whereis"查看路径,然后使用绝对路径或相对路径即可,同样以“ls"为例,具体的演示如图所示,说明该命令文件是可执行的:
对于目录来说,如果使用”cd 目录“可以进入该目录,即说明该目录是可执行的,如图所示,当前家目录下有”nihao"目录,之后使用“cd nihao"即可切换到该目录下,说明该目录是可执行:
2.读写权限,对于文件来说,若能够读取文件内容,例如使用”cat 文件“读取文件内容,说明该文件是可读的,若能够使用例如"vim 文件”修改文件内容,说明该文件是可写的;对于目录来说,若能够使用例如“ls”或“ll"查看目录内容,说明该目录是可读的,若能够在该目录中创建新的目录或文件,则说明该目录是可写的,具体操作不再演示。
3.用户权限可分为三大类:文件所有者、用户组、其他人。我们可以使用”ll"命令来查看所在目录下的子目录和文件的用户权限,如图所示:
我们分别以文件"a.txt"和目录“nihao"进行说明:
对于”a.txt",用户权限显示为“-rw-r--r--”,按照从左到右的顺序,其中开头“-"表示为普通文件,”rw-"针对文件所有者,表示该所有者具有读写权限,无执行权限,需要说明的是,默认创建的文件都是可读可写不可执行的,“r"表示读,”w"表示写,"x"表示执行,它们的出现位分别是左中右;中间的“r--"针对用户组,同理即该组具有读权限,无写和执行权限;右边的”r--"针对其他人,同理只具有读权限,无写和执行权限。
对于目录“nihao",用户权限显示为“drwxr-xr-x”,按照从左到右的顺序,其中开头“d"表示为目录,后面同理,”rwx"针对目录所有者,表示该所有者具有读写权限和执行权限,需要说明的是,默认创建的目录都是可读可写可执行的;中间的“r-x"针对用户组,同理即该组具有读和执行权限,无写权限;右边的”r-x"针对其他人,同理只具有读和执行权限,无写权限。
4.”ll"命令可以查看所在目录下的子目录和文件的用户权限,而对于目录本身,可以使用”ll -d 目录“来查看该目录的权限,如图所示:
其中开头“d"表示为目录,后面同理,”r-x"针对目录所有者,表示该所有者具有读权限和执行权限,需要说明的是,对于root来说,即使未显示”w"写权限,root仍在实际中具有写权限;中间的“r-x"针对用户组,同理即该组具有读和执行权限,无写权限;右边的”r-x"针对其他人,同理无读写执行权限。
5.当某个子目录或文件满足访问用户权限要求时,并不意味着该用户一定能访问该子目录或文件,该用户还需父目录的权限要求。以"/root"为例,首先我们使用“ll -d ~",查看”/root"的访问权限(“~”表示家目录),然后使用“ll"查看该目录下子目录和文件的访问权限,以子目录”nihao"为例,如下图所示:
针对“/root"目录,对于其他人来说,权限为”---“,即没有读写执行权限,而对于子目录”nihao"来说,其他人的权限为“r-x",即其他人有读和执行权限,即使如此,实际中其他人并不能读取和执行该目录,这是由于“root"是”/root/nihao"的父目录,虽然子目录”/root/nihao"对于其他人来说具有读和执行权限,而父目录”/root"对其他人并没有读和执行权限,因此当其他人(例如普通用户“weibao"而言,并不能够读取该目录”/root/nihao",如下图所示:
6."chown 用户 文件"用于更改该文件所有者,”chown :组名 文件“用于更改该文件的组,”chown 用户:组名 文件“用于更改该文件的所有者和归属组,请注意该命令需在root身份下执行,这是由于普通用户无权把文件所有者(属主)改成其他人,如下图所示:
7.当我们使用“useradd -m 用户”创建新用户时,最好在root身份下使用“passwd 用户”为该用户创建密码,避免在进入该用户身份后,在转换为root身份时出现输入该用户的密码(即使该用户的密码还未设置)。
8."chomd”用于更改文件或目录的权限,可以使用“g-x"、"ug=rx"、"o="来进行权限的更改(所有者(u)和用户组(g)和其他人(o),读(r)和写(w)和执行(x)),例如可以使用”chomd g+x 文件“将该文件的用户组的访问权限更改为具有执行读和执行权限,如下图所示:
9.如果一个命令有SUID(s)(作用于u),那么任何人可以执行该命令;如果一个GUID(s)(作用于g),那么任何组可以执行该目录;粘滞位(sticky bit)(t)(作用于o),当一个目录被设置为sticky bit时,只有该目录的所有者或root用户才能删除或重命名该目录下的文件,这有助于防止其他用户删除或移动它们不拥有但可能有权访问的文件。以粘滞位(sticky bit)为例,”chmod o+t ~"表示将家目录设置粘滞位。
10."chattr +a 文件/目录“表示只能增加数据,不能删除或修改文件/目录内容,可以用"chattr -a 文件/目录“取消。"chattr +i 文件/目录“用来设置文件不可修改,"chattr -i 文件/目录“用来取消。这些命令都需要root权限。
