Linux系统管理6
6.1 Linux用户和组管理
Linux系统中的用户可以分为三种:超级用户、
普通用户和服务用户。
( 1) root用户:系统唯一的超级用户,拥有最高权限
( 2)服务用户:不具有登录系统的能力,但却是系统运行不可缺少的用户。
( 3)普通用户:这类用户能登录系统,但只能操作自己家目录的内容,权限有限。
1.添加用户( useradd)
( 1)语法,useradd [参数 ] 用户名
( 2)命令说明:建立系统的用户
-d<登入目录 > 指定用户登录时的启始目录
-g<群组 > 指定用户所属的群组。
-M 不要自动建立用户的登入目录
-s 指定用户登入后所使用的 shell
例 2:在系统上创建用户 neuq,并指定群组为 root。
# useradd -g root student
2.设置口令
( 1)语法,passwd 用户名
( 2)命令说明:修改用户口令。
-S:用于查询指定用户账号的状态。
-l:用于锁定账号的口令。
-u:解除锁定账号的口令。
-d:删除指定账号的口令。
例 1:使用 root用户设置 bxs用户的口令。
# passwd bxs
3.修改用户
usermod [选项 ] 用户帐号修改用户帐号的信息
-d <登入目录 >:修改用户登入时的目录
-g <群组 >:修改用户所属的群组
-l <账号名称 >:更改账号的登录名
-L:锁定帐号口令,使口令失效
-U:解除口令锁定例 1:把用户名,student”改为,neuq”。
[root@lab9 root]# usermod -l neuq student
4.删除用户
( 1)语法,userdel [-r][用户账户 ]
( 2)命令说明:删除用户帐户。
-r:删除用户登入目录以及目录中所有文件。
例 1:删除用户 bxs,但是保留 /home/bxs目录。
[root@lab9 root]# userdel bxs
例 2:删除 bxs用户及其主目录。
[root@lab9 root]# userdel –r student
1.添加用户组
groupadd命令建立新的用户组账号。
( 1)语法,groupadd [-r] 组帐号名
( 2)命令说明:建立新用户组。
-r:用来建立系统账号。
例 1:建立组账号 bxsgroup
[root@lab9 root]# groupadd bxsgroup
例 2:建立系统组账号 bxssysgroup
[root@lab9 root]# groupadd -r
bxssysgroup
2.修改用户组
groupmod命令用来更改用户组识别码或名称
( 1)语法,groupmod [-选项 ] 用户组名称
( 2)命令说明:更改用户组
-g <用户组识别码 >:设置要使用的用户组识别码。
-n <新用户组名称 >:设置要使用的用户组名称。
例 1:改变 bxsgroup组名为 zhgroup。
# groupmod -n zhgroup bxsgroup
3.删除用户组
groupdel命令用于删除指定的组账号,若该用户组中仍包括某些用户,则必须先删除这些用户后,方能删除用户组。
( 1)语法,groupdel [用户组名称 ]
( 2)命令说明:删除用户组
( 3)使用权限:超级用户例 1:删除组 zhgroup。
# groupdel zhgroup
4.组成员维护
( 1)语法,gpasswd [选项 ] 组名 或
gpasswd [选项 ] 用户名 组名
( 2)命令说明:把用户添加到组、把用户从组中删除
-a:将用户添加到组中
-A:指定组的管理员
-d:将用户从组中删除例 1:将 bxs用户添加到 root组中
[root@lab9 root]# gpasswd -a bxs root
用户和组的配置文件
1./etc/passwd文件
Linux系统的基本用户数据文件是 /etc/passwd。
用户名(也被称为登录名)
用户口令
UID
GID
用户名全称或说明
用户的主目录
用户所用 shell的类型用户和组的配置文件(续 1)
用户名
口令
上次修改口令的时间
两次修改口令间隔最少的天数
两次修改口令间隔最多的天数
提前多少天警告用户口令将过期
在口令过期之后多少天禁用此用户
用户过期日期
保留字段
2./etc/shadow文件口令存放文件。此文件只有 root用户可以读取用户和组的配置文件(续 2)
3./etc/group文件
/etc/group文件是用户组配置文件,存放用户组的信息。
用户组名称
用户组口令
GID
组成员用户和组的配置文件(续 3)
4./etc/gshadow文件
/etc/gshadow文件用于定义用户组口令、组管理员等信息,该文件只有 root用户可以读取。
用户组名
用户组口令
用户组管理者
组成员用户和组的配置文件(续 4)
5./etc/skel目录;
/etc/skel目录一般存放用户启动文件。
6./etc/login.defs文件
/etc/login.defs文件是创建用户时的一些规划。
7./etc/default/useradd文件;
Linux通过 useradd命令添加用户,
/etc/default/useradd是添加用户时的规则文件
6.2 内核管理内核是操作系统的核心,用来提供用户层程序和硬件之间的接口。
Linux内核的版本号由三部分分别是主要编号、
次要编号和修正编号。
Linux发行商一般会根据自己的需要对基本内核进行某些定制。
内核编译前的准备对内核进行改动主要基于以下两点考虑;
第一点:希望使用最新内核版本。
第二点:对内核进行优化,精简。
Red Hat Linux 9的内核源代码在 /usr/src/linux-2.4目录下配置与编译内核
( 1)使用命令配置内核
make xconfig
[root@lab9 linux-2.4.20-8]# make
xconfig
在出现的选择框中单击类别名来选择需要配置的类别
( 2)使用 make dep命令分析内核的配置,设置依赖关系;使用 make clean命令清除以前编译的痕迹。
[root@lab9 linux-2.4.20-8]# make dep
[root@lab9 linux-2.4.20-8]# make clean
配置与编译内核(续 1)
( 3)给定制内核添加一个修改版本号码。
( 4)使用 make bzImage来编译内核。该命令会自动完成对新系统内核的编译。
[root@lab9 linux-2.4.20-8]# make
bzImage
( 5)使用 make modules编译所配置的模块。该命令自动完成对内核模块的编译。
[root@lab9 linux-2.4.20-8]# make
modules
配置与编译内核(续 2)
( 6)使用 make modules_install安装内核模块
[root@lab9 linux-2.4.20-8]# make
modules_install
( 7)使用 make install把新内核和相关文件复制到正确目录中。
[root@lab9 linux-2.4.20-8]# make
install
至此,配置和编译内核的工作全部完成,重新启动机器可以进入使用新内核的系统。
6.3 软件的安装在 Linux下,软件有多种安装包格式,而每种格式又有自己的安装命令和方法。目前,Linux下流行的安装包格式主要有两种:一是二进制分发包格式;
二是源代码分发包格式。
6.3.1 二进制分发包的安装
Linux软件的二进制分发包是指事先已经编译为二进制形式的软件包的发布形式,其优点是安装使用容易
,缺点是缺乏灵活性。二进制分发包是为特定的硬件或操作系统平台编译的,不能在另外的平台或环境下正确执行。
# tar zxvf jakarta-tomcat-4.1.31.tar.gz
6.3.2 RPM安装包的管理
RPM是 Red Hat Package Manager的缩写,即 Red
Hat软件包管理器,RPM包里面包含可执行的二进制程序。
安装 RPM包
rpm –I options file1.rpm,.,fileN.rpm
( 1)安装 dhcp-3.0pl1-23.i386.rpm软件包:
# rpm -ivh dhcp-3.0pl1-23.i386.rpm
( 2)重新安装软件包:
# rpm -ivh --replacepkgs dhcp-3.0pl1-
23.i386.rpm
( 3)安装到指定目录,加 -relocate参数
# rpm -ivh --relocate /=/opt/dhcp dhcp-3.0pl1-
23.i386.rpm
查询 RPM包
rpm –q options pkg1,.,pkgN
( 1)基本查询。
# rpm -q samba
( 2)在系统中查询和 samba有关的已安装程序:
# rpm -qa |grep samba
( 3)查询 samba软件的概述信息:
# rpm -qi samba
( 4)查看 dhcp软件在系统中文件的安装位置:
[root@lab9 root]# rpm -ql dhcp
( 5)查看文件 /usr/lib/libacl.la属于那个软件包:
[root@lab9 root]# rpm -qf /usr/lib/libacl.la
( 6)查看 samba软件的配置文件:
[root@lab9 root]# rpm -qc samba
( 7)查看 dhcp软件所依赖的软件包和文件:
[root@lab9 root]# rpm -qR dhcp
查询 RPM包(续 1)
升级 RPM包
rpm –U options file1.rpm,.,fileN.rpm
( 1)升级软件包 dhcp-3.0pl1-23.i386.rpm:
# rpm -Uvh dhcp-3.0pl1-23.i386.rpm
rpm –e options pkg1,.,pkgN
( 1)卸载 dhcp软件:
# rpm -e dhcp
( 2)强制卸载:
# rpm -e --nodeps samba-2.2.7a-7.9.0
卸载 RPM包校验 RPM包
rpm -V ( or --verify,or –y) options
( 1)校验 dhcp-3.0pl1-23.i386.rpm包:
# rpm -K dhcp-3.0pl1-23.i386.rpm
其他命令
( 1)初始化 rpm数据库;
# rpm –initdb
# rpm --rebuilddb
( 2)从 rpm软件包抽取文件:
# rpm2cpio dhcp-3.0pl1-23.i386.rpm |
cpio -div
( 3)网络安装和查询 RPM包
( 4) RPM的配置文件
RPM包的配置文件是 rpmrc
安装 SRPM软件包
( 1)生成二进制 RPM包。
rpmbuild --rebuild filename
( 2)安装生成的二进制 RPM包
6.3.3 源代码分发包安装管理
tar包
tar.gz包
tar.bz2
tar.Z包对源代码包解包解压缩配置、编译和安装
( 1)配置,/configure
( 2)编译 make
( 3)安装 make install
( 4)清除临时文件 make clean
6.4 vi编辑器
vi是最常用和最重要的编辑器,它是唯一在所有版本的 Linux系统和其他各种版本的 UNIX系统上都配备的文本编辑器。
vi的工作模式
1.三种工作模式
vi编辑器有 3种操作模式:
末行模式命令模式插入模式
1
2
3
vi的工作模式(续 1)
2.工作模式的转换命令模式末行模式插入模式按 Esc 键按 i,I,a,A,o,O 中的任一键进入此模式按,或? 或 / 可切换到末行模式按 Esc 键进入插入模式
i:在光标所在位置之前插入,光标后的资料随新增资料向后移动。
a:在光标所在位置之后插入,光标后的资料随新增资料向后移动。
o:在光标所在的行的下面插入一行并进入插入模式。
O:在光标所在的行的上面插入一行并进入插入模式光标移动命令
( 1)基本的光标移动
j:向下移动。
k:向上移动。
h:向左移动。
l:向右移动。
( 2)词移动
( 3)行移动
( 4)括号匹配删除修改命令
x:删除光标所在字符。
dw:删除一个单词。
dd:删除多行,n代表数字,如 3dd表示删除光标所在行及下两行。
cw:更改光标所在位置的一个字
ncw:更改光标所在位置的 n个字复制与粘贴命令
( 1)复制命令
y 命令可以把文字拷贝到寄存器中。然后用 p 命令粘贴到别处。
( 2)粘贴命令
p将缓冲区内的字符贴到光标所在位置。所有与 y有关的复制命令都必须与 p配合才能完成复制与粘贴功能替换与撤销命令
r 替换光标所在处的字符。
R 进入替换状态,新增文字会覆盖原有文字。
u 撤消修改或删除操作;
查找命令
( 1)单字符查找
fx:向前(右)查找本行中的字符 x。
Fx:向后(左)查找本行中的字符 x。
( 2)正文查找
vi中查找命令使用,/”。
,?”命令功能与,/”的功能类似,但进行反方向查找。
保存退出命令在命令模式下键入,q,:q!,:wq或,x(注意字母前的冒号),就会退出 vi。其中,wq和,x是存盘退出,
而,q,:q!是直接退出。如果文件已有新的变化,vi会提示保存文件而,q命令也会失效,这时可以用,w命令保存文件后再用,q退出,或使用,wq和,x命令直接保存退出。
字符排列命令
>>:整行向右移一个 shiftwidth(默认 8个字符)。
<<:整行向左移一个 shiftwidth(默认 8个字符)。
:ce:本行文字置中。
:r:本行文字靠右。
:le:本行文字靠左。
6.1 Linux用户和组管理
Linux系统中的用户可以分为三种:超级用户、
普通用户和服务用户。
( 1) root用户:系统唯一的超级用户,拥有最高权限
( 2)服务用户:不具有登录系统的能力,但却是系统运行不可缺少的用户。
( 3)普通用户:这类用户能登录系统,但只能操作自己家目录的内容,权限有限。
1.添加用户( useradd)
( 1)语法,useradd [参数 ] 用户名
( 2)命令说明:建立系统的用户
-d<登入目录 > 指定用户登录时的启始目录
-g<群组 > 指定用户所属的群组。
-M 不要自动建立用户的登入目录
-s 指定用户登入后所使用的 shell
例 2:在系统上创建用户 neuq,并指定群组为 root。
# useradd -g root student
2.设置口令
( 1)语法,passwd 用户名
( 2)命令说明:修改用户口令。
-S:用于查询指定用户账号的状态。
-l:用于锁定账号的口令。
-u:解除锁定账号的口令。
-d:删除指定账号的口令。
例 1:使用 root用户设置 bxs用户的口令。
# passwd bxs
3.修改用户
usermod [选项 ] 用户帐号修改用户帐号的信息
-d <登入目录 >:修改用户登入时的目录
-g <群组 >:修改用户所属的群组
-l <账号名称 >:更改账号的登录名
-L:锁定帐号口令,使口令失效
-U:解除口令锁定例 1:把用户名,student”改为,neuq”。
[root@lab9 root]# usermod -l neuq student
4.删除用户
( 1)语法,userdel [-r][用户账户 ]
( 2)命令说明:删除用户帐户。
-r:删除用户登入目录以及目录中所有文件。
例 1:删除用户 bxs,但是保留 /home/bxs目录。
[root@lab9 root]# userdel bxs
例 2:删除 bxs用户及其主目录。
[root@lab9 root]# userdel –r student
1.添加用户组
groupadd命令建立新的用户组账号。
( 1)语法,groupadd [-r] 组帐号名
( 2)命令说明:建立新用户组。
-r:用来建立系统账号。
例 1:建立组账号 bxsgroup
[root@lab9 root]# groupadd bxsgroup
例 2:建立系统组账号 bxssysgroup
[root@lab9 root]# groupadd -r
bxssysgroup
2.修改用户组
groupmod命令用来更改用户组识别码或名称
( 1)语法,groupmod [-选项 ] 用户组名称
( 2)命令说明:更改用户组
-g <用户组识别码 >:设置要使用的用户组识别码。
-n <新用户组名称 >:设置要使用的用户组名称。
例 1:改变 bxsgroup组名为 zhgroup。
# groupmod -n zhgroup bxsgroup
3.删除用户组
groupdel命令用于删除指定的组账号,若该用户组中仍包括某些用户,则必须先删除这些用户后,方能删除用户组。
( 1)语法,groupdel [用户组名称 ]
( 2)命令说明:删除用户组
( 3)使用权限:超级用户例 1:删除组 zhgroup。
# groupdel zhgroup
4.组成员维护
( 1)语法,gpasswd [选项 ] 组名 或
gpasswd [选项 ] 用户名 组名
( 2)命令说明:把用户添加到组、把用户从组中删除
-a:将用户添加到组中
-A:指定组的管理员
-d:将用户从组中删除例 1:将 bxs用户添加到 root组中
[root@lab9 root]# gpasswd -a bxs root
用户和组的配置文件
1./etc/passwd文件
Linux系统的基本用户数据文件是 /etc/passwd。
用户名(也被称为登录名)
用户口令
UID
GID
用户名全称或说明
用户的主目录
用户所用 shell的类型用户和组的配置文件(续 1)
用户名
口令
上次修改口令的时间
两次修改口令间隔最少的天数
两次修改口令间隔最多的天数
提前多少天警告用户口令将过期
在口令过期之后多少天禁用此用户
用户过期日期
保留字段
2./etc/shadow文件口令存放文件。此文件只有 root用户可以读取用户和组的配置文件(续 2)
3./etc/group文件
/etc/group文件是用户组配置文件,存放用户组的信息。
用户组名称
用户组口令
GID
组成员用户和组的配置文件(续 3)
4./etc/gshadow文件
/etc/gshadow文件用于定义用户组口令、组管理员等信息,该文件只有 root用户可以读取。
用户组名
用户组口令
用户组管理者
组成员用户和组的配置文件(续 4)
5./etc/skel目录;
/etc/skel目录一般存放用户启动文件。
6./etc/login.defs文件
/etc/login.defs文件是创建用户时的一些规划。
7./etc/default/useradd文件;
Linux通过 useradd命令添加用户,
/etc/default/useradd是添加用户时的规则文件
6.2 内核管理内核是操作系统的核心,用来提供用户层程序和硬件之间的接口。
Linux内核的版本号由三部分分别是主要编号、
次要编号和修正编号。
Linux发行商一般会根据自己的需要对基本内核进行某些定制。
内核编译前的准备对内核进行改动主要基于以下两点考虑;
第一点:希望使用最新内核版本。
第二点:对内核进行优化,精简。
Red Hat Linux 9的内核源代码在 /usr/src/linux-2.4目录下配置与编译内核
( 1)使用命令配置内核
make xconfig
[root@lab9 linux-2.4.20-8]# make
xconfig
在出现的选择框中单击类别名来选择需要配置的类别
( 2)使用 make dep命令分析内核的配置,设置依赖关系;使用 make clean命令清除以前编译的痕迹。
[root@lab9 linux-2.4.20-8]# make dep
[root@lab9 linux-2.4.20-8]# make clean
配置与编译内核(续 1)
( 3)给定制内核添加一个修改版本号码。
( 4)使用 make bzImage来编译内核。该命令会自动完成对新系统内核的编译。
[root@lab9 linux-2.4.20-8]# make
bzImage
( 5)使用 make modules编译所配置的模块。该命令自动完成对内核模块的编译。
[root@lab9 linux-2.4.20-8]# make
modules
配置与编译内核(续 2)
( 6)使用 make modules_install安装内核模块
[root@lab9 linux-2.4.20-8]# make
modules_install
( 7)使用 make install把新内核和相关文件复制到正确目录中。
[root@lab9 linux-2.4.20-8]# make
install
至此,配置和编译内核的工作全部完成,重新启动机器可以进入使用新内核的系统。
6.3 软件的安装在 Linux下,软件有多种安装包格式,而每种格式又有自己的安装命令和方法。目前,Linux下流行的安装包格式主要有两种:一是二进制分发包格式;
二是源代码分发包格式。
6.3.1 二进制分发包的安装
Linux软件的二进制分发包是指事先已经编译为二进制形式的软件包的发布形式,其优点是安装使用容易
,缺点是缺乏灵活性。二进制分发包是为特定的硬件或操作系统平台编译的,不能在另外的平台或环境下正确执行。
# tar zxvf jakarta-tomcat-4.1.31.tar.gz
6.3.2 RPM安装包的管理
RPM是 Red Hat Package Manager的缩写,即 Red
Hat软件包管理器,RPM包里面包含可执行的二进制程序。
安装 RPM包
rpm –I options file1.rpm,.,fileN.rpm
( 1)安装 dhcp-3.0pl1-23.i386.rpm软件包:
# rpm -ivh dhcp-3.0pl1-23.i386.rpm
( 2)重新安装软件包:
# rpm -ivh --replacepkgs dhcp-3.0pl1-
23.i386.rpm
( 3)安装到指定目录,加 -relocate参数
# rpm -ivh --relocate /=/opt/dhcp dhcp-3.0pl1-
23.i386.rpm
查询 RPM包
rpm –q options pkg1,.,pkgN
( 1)基本查询。
# rpm -q samba
( 2)在系统中查询和 samba有关的已安装程序:
# rpm -qa |grep samba
( 3)查询 samba软件的概述信息:
# rpm -qi samba
( 4)查看 dhcp软件在系统中文件的安装位置:
[root@lab9 root]# rpm -ql dhcp
( 5)查看文件 /usr/lib/libacl.la属于那个软件包:
[root@lab9 root]# rpm -qf /usr/lib/libacl.la
( 6)查看 samba软件的配置文件:
[root@lab9 root]# rpm -qc samba
( 7)查看 dhcp软件所依赖的软件包和文件:
[root@lab9 root]# rpm -qR dhcp
查询 RPM包(续 1)
升级 RPM包
rpm –U options file1.rpm,.,fileN.rpm
( 1)升级软件包 dhcp-3.0pl1-23.i386.rpm:
# rpm -Uvh dhcp-3.0pl1-23.i386.rpm
rpm –e options pkg1,.,pkgN
( 1)卸载 dhcp软件:
# rpm -e dhcp
( 2)强制卸载:
# rpm -e --nodeps samba-2.2.7a-7.9.0
卸载 RPM包校验 RPM包
rpm -V ( or --verify,or –y) options
( 1)校验 dhcp-3.0pl1-23.i386.rpm包:
# rpm -K dhcp-3.0pl1-23.i386.rpm
其他命令
( 1)初始化 rpm数据库;
# rpm –initdb
# rpm --rebuilddb
( 2)从 rpm软件包抽取文件:
# rpm2cpio dhcp-3.0pl1-23.i386.rpm |
cpio -div
( 3)网络安装和查询 RPM包
( 4) RPM的配置文件
RPM包的配置文件是 rpmrc
安装 SRPM软件包
( 1)生成二进制 RPM包。
rpmbuild --rebuild filename
( 2)安装生成的二进制 RPM包
6.3.3 源代码分发包安装管理
tar包
tar.gz包
tar.bz2
tar.Z包对源代码包解包解压缩配置、编译和安装
( 1)配置,/configure
( 2)编译 make
( 3)安装 make install
( 4)清除临时文件 make clean
6.4 vi编辑器
vi是最常用和最重要的编辑器,它是唯一在所有版本的 Linux系统和其他各种版本的 UNIX系统上都配备的文本编辑器。
vi的工作模式
1.三种工作模式
vi编辑器有 3种操作模式:
末行模式命令模式插入模式
1
2
3
vi的工作模式(续 1)
2.工作模式的转换命令模式末行模式插入模式按 Esc 键按 i,I,a,A,o,O 中的任一键进入此模式按,或? 或 / 可切换到末行模式按 Esc 键进入插入模式
i:在光标所在位置之前插入,光标后的资料随新增资料向后移动。
a:在光标所在位置之后插入,光标后的资料随新增资料向后移动。
o:在光标所在的行的下面插入一行并进入插入模式。
O:在光标所在的行的上面插入一行并进入插入模式光标移动命令
( 1)基本的光标移动
j:向下移动。
k:向上移动。
h:向左移动。
l:向右移动。
( 2)词移动
( 3)行移动
( 4)括号匹配删除修改命令
x:删除光标所在字符。
dw:删除一个单词。
dd:删除多行,n代表数字,如 3dd表示删除光标所在行及下两行。
cw:更改光标所在位置的一个字
ncw:更改光标所在位置的 n个字复制与粘贴命令
( 1)复制命令
y 命令可以把文字拷贝到寄存器中。然后用 p 命令粘贴到别处。
( 2)粘贴命令
p将缓冲区内的字符贴到光标所在位置。所有与 y有关的复制命令都必须与 p配合才能完成复制与粘贴功能替换与撤销命令
r 替换光标所在处的字符。
R 进入替换状态,新增文字会覆盖原有文字。
u 撤消修改或删除操作;
查找命令
( 1)单字符查找
fx:向前(右)查找本行中的字符 x。
Fx:向后(左)查找本行中的字符 x。
( 2)正文查找
vi中查找命令使用,/”。
,?”命令功能与,/”的功能类似,但进行反方向查找。
保存退出命令在命令模式下键入,q,:q!,:wq或,x(注意字母前的冒号),就会退出 vi。其中,wq和,x是存盘退出,
而,q,:q!是直接退出。如果文件已有新的变化,vi会提示保存文件而,q命令也会失效,这时可以用,w命令保存文件后再用,q退出,或使用,wq和,x命令直接保存退出。
字符排列命令
>>:整行向右移一个 shiftwidth(默认 8个字符)。
<<:整行向左移一个 shiftwidth(默认 8个字符)。
:ce:本行文字置中。
:r:本行文字靠右。
:le:本行文字靠左。