任务五 管理Linux系统的用户和用户组
第一步:查看Linux系统中的用户
系统中的所有用户存放文件为/etc/passwd,可通过【vim /etc/passwd】命令打开查看。
passwd文件由许多条记录组成,每条记录占一行,记录了一个用户账号的所有信息。每条记录由7个字段组成,字段间用冒号(:)隔开,其格式如下图所示:
(1)用户名:它唯一地标识了一个用户账号,用户在登录时使用的就是它。
(2)加密口令,passwd文件中存放的密码是经过加密处理的。
(3)用户ID:用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。普通用户的UID默认是从500开始的。
(4)组ID:用户组识别码,简称GID。Linux不同的用户可以属于同一个用户组,享有该用户组共同的权限。与UID类似,GID唯一标识了一个用户组。普通用户的GID默认是从500开始的。UID和GID默认情况下是一致的。
(5)用户描述:这是给用户账号做的注解。它一般是用户真实姓名、电话号码、住址等,当然也可以是空白的。
(6)家目录:这个目录属于该账号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root账号的家目录是/root,其他账号的家目录都在/homemull下,并且和用户名同名。
(7)登录shell:用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。
第二步:查看用户密码以及有效的文件
用户密码以及有效期的存放文件/etc/shadow可通过【vim /etc/shadow】命令打开查看。
shadow文件由许多条记录组成,每条记录占一行,记录了一个用户账号的所有用户密码以及有效期等信息。每条信息由8个字段组成,字段间用冒号(:)隔开,其格式如图如下:
(1)用户名:是 /etc/passwd文件中的登录名相一致的用户账号。
(2)加密口令:存放的是加密后的用户口令字符,长度为13个字符。
(3)最后一次修改时间:表不同的系统可能不一样。示从某时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。
(4)最小时间间隔:指两次修改口令之间所需的最小天数。
(5)最大时间间隔:指口令保持有效的最大天数。
(6)警告时间:表示从系统开始警告用户到用户密码正式失效之间的天数。
(7)不活动时间:表示用户没有登录活动但是账号任然能保持有效的最大天数。
(8)失效时间:给出的是一个绝对的天数。
系统中还有一些默认的账号,如daemon、bin等。这些账号有一些特殊的用途,一般用于系统管理。
【vim/etc/shadow】编辑用户密码的存放文件。把user2所在行的第一个冒号与第二个冒号之间的字符删除,设置user2的密码为空。
第三步:查看账号所属组的文件
/etc/group文件是用户组的配置文件,内容包括用户和用户组,并且能够显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。
Linux中每建立一个用户时,同时也建立一个同名的组,此用户默认是加入到此组中。组用户文件存放在/etc/group里面,可以通过【vim /etc/group】命令查看,如图所示:
在上图所示的文件中,每个用户间用逗号(,)分割;本字段可以为空,如果为空表示用户组为GID的用户名。
第四步:查看用户组密码
/etc/gshadow是/etc/group的加密咨询文件,例如用户组管理密码就存放在这个文件里。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系比较复杂的权限模型,设置用户组密码是极其有必要的。
通过【vim /etc/gshadow】命令可以查看用户组密码存放文件,每个用户组独占一行,如图所示:
在上图中,有4列,每一列对于的释义如下:
第一列:用户组名称;
第二列:用户组密码,这个段可以是空的或有感叹号(!),如果是空的或感叹号(!),表示没有密码;
第三列:用户组管理者,这个字段也可以为空,如果有多个用户管理者,用“,”号分割;
第四列:组成员,如果有多个成员,用逗号(,)分割。
第五步:建立与删除用户
CentOS中,建立与删除用户的主要命令以及释义如下:
【useraddxxy】新建xxy用户。
【passwdxxy】为用户xxy用户设置密码,,密码输入时无任何显示。
【useraddxiao -d /home/x】新建xiao用户,并指定家目录为/home/x。
【useradduser1 -d / home/user1】此处可以不加参数 -d,因为用户的默认家目录就在/home下与用户名相同的目录下。
【useradduser2】增加新用户user2,用户默认家目录为/home/user2。
【userdelxxy】删除用户,但不删除家目录。
【userdel-r xiao】删除xiao用户,并删除家目录。
【usermod-l user2 user1】修改用户user1 名称为user2.
【usermod-L user2】锁定用户名user2,锁定后user2不能登录。
【usermod -U user2】解锁用户名user2。
【su -user1】root用户切换到普通用户,不需要密码。
【su -root】普通用户切换到root用户,需要root密码。
具体步骤如下图所示:
第六步:建立与管理用户组
CentOS中,建立与管理用户组的主要命令以及释义如下:
【groupaddgrp1】建立用户组grp1.
【groupdelgrp1】删除用户组grp1.
【groupmodgrp2 grp1】修改用户组名称grp1位grp2.
【gpasswd-a user2 grp2】把用户user2加入到用户组grp2中.
【gpasswd-d user2 grp2】把用户user2从用户组grp2中删除.
第七步:几个重要的命令补充:
有关用户的操作还有以下几个命令,详细释义如下:
【whoam i】显示当前哪个用户登录。
【w】显示目前登入系统的用户详细信息,包括登录IP地址等。
【who】显示目前登入系统的用户简要信息。
【last】记录每个用户的登录次数和持续时间的等信息。
【suuser】切换用户但不切换当前目录。
【su- user1】切换用户并且切换到user的家目录。
【ntsysv】启动/关闭系统中的服务。
【setup】设置系统运行参数。
第一步:认识文件权限说明
执行【ls -l】或【ls -al】或【ll】命令后显示的结果如图所示
第一个字符一般用来区分文件和目录:d表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。— 表示这是一个普通的文件。l表示这是一个符号链接文件,实际上它指向另一个文件。
第2~10个字符是用来表示一般权限,每3个为一组,左边3个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。每个用户都有自己的专属目录,即家目录,通常集中放在/home目录下,这些专属目录的默认权限为rwx------,表示目录所有者本身具有所有的权限,其他用户无法进入该目录。执行【mkdir】命令所创建的目录,其默认权限为rwxr-xr-x,用户可以需要修改目录的权限。
文件和目录的权限表示,是用r、w、x这3个字符代替所有者、用户组和其他用户的权限。我们把r、w、x分别用数值4、2、1来表示,权限数字之和可代表对应的权限,具体如下:
r:对应数值4;
w:对应数值2;
x:对应数值1;
-:对应数值0。
第二步:使用【chmod】命令改变文件或目录的访问权限
在文本模式下,可执行【chmod】命令改变文件和目录的权限。
【chmod777 123.txt】把123.txt文件的权限设置为777.
【chmod777 /home/user】仅把/home/user目录的权限设置为rwxrwxrw。
【chmod-R 777 /home/user】将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx。
【chmodu=rwx,g=rx,o=rx 123.txt】把123.txt文件设置为755的权限。
第三步:更改文件的所有者以及所有组
文件和目录的权限可以改变,使用【chown】命令还可以改变其所有者和所属用户组。
先使用【touch 123.txt】命令创建一个文件后再执行【ls -l】或【ll】命令查看文件的情况,如图所示:
从上图可以看到,123.txt文件的所有者为root,所属用户组为root。
执行下面命令,把123.txt文件的拥有者改为xxy用户。
【ll】查看文件的详细信息。
要改变所属组,可使用【chouwn lx 123.txt】把123.txt文件的所属组改为xxy,然后使用【ll】命令查看文件的详细信息。
第四步:认识umask
umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。
默认的权限可用【umask】命令修改,用法非常简单,执行【umask 777】命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都是000,如图所示:
当执行【umask 777】命令后,再建立的文件夹的权限默认为000.
第五步:识别特殊权限
当在一个文件或目录上加入suid特殊权限时,如果原来目录或文件的属主具有x权限,就会用小写的t来代替x;如果原来文件或目录不具有x权限,就会用T来替代x权限。
可以chmod的字符或数字的方式修改特殊权限,如图所示:
从上图的操作结果来看,对于xxy这个文件,属主、属组、其他人都没有执行权限,其权限用数字表示为644,通过【chmod 7644 xxy】命令都加上特殊权限,然后通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为s、s、t。
第六步:识别文件颜色
在Linux中文件名颜色不同,代表文件类型不一样,具体如下:
浅蓝色:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
蓝色:表示目录;
红色闪烁:表示链接的文件有问题;
黄色:表示设备文件,包括block、char、fifo。
用【dircolors-p】命令可以看见默认的颜色设置。
【toucha.txt】创建的一般文件,文件颜色为白色。
【chmod755 a.txt】增加可执行权限后,文件颜色变为绿色。
【ln /etc/abc.txt345.txt】执行命令后,文件颜色变为天蓝色。
第七步:总结常用的几个命令
【chmodu+x,g-x,o=x test】所有者加上执行权限,熟悉它们会让你的运维事半功倍。
【chmod-R 766 ./】修改当前目录权限,要求里面的所有文件和文件夹的权限修改为766.
【chownuser1:G3 zip.zip】修改zip.zip的所有者为user1,所有者为G3。
【umask】查看当前umask参数。
【touch/home/dir1】在/home目录下创建新目录dir1。
【ll/home/dir1】显示目录dir1的详细信息,记录目录的权限记录。
【umask066】改变umask参数066.
【chmodg+w /home/dir1】位dir1的同组用户增加写权限。
【chmod755 /home/dir1】改变file1的文件权限为755。
任务七 管理rpm软件包与安装包【子任务一】 管理rpm软件包
rpm有5种操作模式,分别是:安装、卸载、升级、查询和验证。
第一步:查询rpm软件是否已经安装
在安装一个软件之前,往往需要确认该软件是否已经安装。通过【rpm -q软件包名】命令查询或在参数-q后面直接加其他的参数来查询软件包的安装信息,具体命令及释义如下:
【rpm -qa | grep tomcat4】查询已经安装的tomcat4的所有套件
【rpm -qip example.rpm】查询安装包example.rpm的信息
【rpm -qif /bin/df】查询/bin/df文件所在安装包信息
【rpm -qlf /bin