LinuxDiary
终端常用操作
-
调整字号
- Ctrl + Shift + +
- Ctrl + -
-
打开多个终端
- Ctrl + Shift + T
-
切换终端
- Alt + 数字键
-
退出终端
- 输入命令exit或者Ctrl + D
-
将当前命令行置顶
- Ctrl + L
-
将光标之前的所有字符删除
- Ctrl + U
-
显示历史命令
- 方向键的↑和↓
-
切换目录
cd
命令- cd后面不加任何目录 则切换到当前用户主目录
- 四个特殊目录名称
.
当前目录..
上一层目录~
当前用户主目录- root用户主目录
/root
- xx用户主目录
/home/xx
- root用户主目录
-
之前工作路径
-
cat 查看帮助
- 功能:查看文本文件的内容
- 用法: cat 文本文件
- 常用参数: -n 加上行号
- 举例:
-
cat /etc/passwd
-
cat –n /etc/passwd == cat –number /etc/passwd
-
-
管道
- 功能: 将前面命令的输出结果传给后面的命令
- 用法: 命令1 | 命令2
-
ls命令
- 功能: 显示文件信息或目录下包含的所有文件
- 用法:
- ls 文件 显示文件信息
- ls 目录 显示目录下包含的所有文件
- 常用参数:
- –w 指定显示信息输出的列宽(字符),它后面是带参数的
- ls –w 10
- –l 列出详细信息 相当于 命令 ll
- –w 指定显示信息输出的列宽(字符),它后面是带参数的
-
非常重要的按键
-
Tab
- 命令补全
- 第1种情况:按1下,只有一个符合条件,直接补全并在命令后面加一个空格
- 第2种情况:如果按1下tab没有反应,可以试着按2下,会列出所有可能的命令
- 第3种情况:如果按多下tab键没有反应,则表示你的命令写的有错误
- 文件或者路径补全
- Linux把所有东西都视为文件。
- 文件和目录统称为文件。
- 操作方法,参考命令补全
- 命令补全
-
Tab
-
mount
命令查看光驱挂载路径- 将分区挂载到目录上
mount /dev/sr0
目录
- 将分区挂载到目录上
-
mkdir
创建目录mkdir /cdrom
创建cdrom目录mkdir -p /rhome/stu2
递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
-
rpm 安装软件
- 安装:
rpm -ivh /cdrom/Packages/vsftpd..
- 检查是否安装成功:
rpm -q vsfptpd
rpm -qa | grep vs
- 卸载:
rpm -e vsfptd
- 安装:
-
编辑文件
- vi
- i 编辑
- esc 退出
- :p 退出
- :p! 强制退出
- :w 保存
- :wp 保存并退出
- vi
-
历史命令
- !命令前缀,会找到最近的一个命令前缀执行
-
快捷方式
- Alt+ .
yum
执行yum命令之前需要配置文件/etc/
[aa] 随便写
name=ad 随便写
baseurl=file:/ l/media/RHEL 6.1\ i386\Disc\ 1 软件地址
enable=1
gapcheck=0 不检查key
-
安装pub-key
rpm -import 具体的pubkey -
卸载pub-key
rpm -e 具体的pubkey -
yum配置文件指定pubkey
gpgkey=具体的key -
修改yum配置之后
- 使用yum clean all
-
然后再
- yum list
-
yum安装软件
- yum install 软件名
-
yum卸载软件
- yum earse 软件名
- yum remove 软件名
用户管理配置文件
命令:vi /etc/passwd
示例:stu:x:500:500:student:/home/stu:/bin/bash
分为7列
第1列: 用户名–stu
第2列: 用户是否使用了密码–x
表示使用
第3列: 用户id–500
第4列: 用户主要组id–500
第5列: 用户的完整名称–student
第6列: 用户的主目录–/home/stu
第7列: 用户的登录shell–/bin/bash
关于用户id
0为root的用户id
普通用户的id>=500
系统id是1~499
登录shell
/sbin/nologin
表示不可登录
添加用户
useradd或adduser
常用参数:
-s 指定用户登录的shell
-u 指定用户id
-d 指定用户的主目录
举例:useradd stu2
删除用户
userdel
参数: -r 删除用户时,删掉用户的主目录,邮箱文件
举例:userdel -r stu2
停用账户
在对应用户的配置文件前面加上#
,相当于注释掉了
设置不需要密码
将x删掉即可
设置不可登录
设置/sbin/nologin
切换用户
su -
举例:su - stu2
切换至stu2用户
su -
如果身处其他用户环境,将切换为root用户,但需要输入密码
组管理
vi /etc/group
举例:root:x:0:root
共有四列。
第1列 组名
第2列 组启用了密码
第3列 组id
第4列 该组包含的成员
添加组
groupadd
用法:groupadd 组名
删除组
groupdel
用法:groupdel 组名
组关系查询
id
功能:查询用户的id,主要组id,所属组
方法: id 用户名
举例:id root
另一种查看用户所在组的方式
grep stu2 /etc/group
grep的全称为:Global searchRegularExpression andPrint out the line
全称中的”Global search”为全局搜索之意
相当于在/etc/group文件中,全局搜索包含stu2的字段
添加组关系
如何将stu2加入到stu组和test组呢?
输入vi /etc/group
命令,进入组管理配置文件
按i开始编辑,在对应的组的最后,加上stu2,:wq
保存并退出
输入id stu2
查询stu2的所属组
磁盘与文件管理
磁盘分区类型
主分区,扩展分区,逻辑分区
硬盘分区fdisk
fdisk –l
查看硬盘的名称,最大柱面值,当前硬盘分区情况。
创建、删除硬盘分区常用命令
fdisk /dev/sda
命令 | 作用 |
---|---|
a | toggle a bootable_ flag |
b | edit bsd disklabel |
c | toggle the dos compatibility flag |
d | delete a partition 删除分区 |
l | list known partition types 列出已知分区的类型 |
m | print this menu |
n | add a new partition 添加一个新分区 |
o | create a new empty DoS partition table |
p | print the partition table 显示硬盘当前分区情况 |
q | quit without saving changes 退出但不保存 |
s | create a new empty Sun disklabel |
t | change a partition’s system id 改变分区系统id |
u | change display/entry units |
v | verify the partition table |
w | write table to disk and exit 保存并退出 |
x | extra functionality (experts only) |
一个好习惯
分区之前,分区之后,随时输入p查看一下当前的分区情况
添加新分区
- 输入
fdisk /dev/sda
- 输入
n
会让您选择是创建扩展分区还是主分区 - e是选择扩展分区,p是选择主分区,这里我们先选择p创建主分区
- 会让你选择柱面值起始位置和结束位置
- 为什么要选择起始位置呢?避免坏道,选择起始位置可以跳过坏道
- 结束位置默认是全选剩余空间,单也可以指定创建多大的分区,具体实现为
+200M
,+2G
,分别表示创建200M大小的分区和创建2G大小的分区,可以根据自己的需求来划分。另一种选择方式是选择柱面值,但不符合我们的习惯,不能确定创建的分区大小
删除分区
- 输入
fdisk /dev/sda
- 输入
d
,然后选择要删除哪个分区(1~4)
扩展分区
每个硬盘只能
创建4个主分区,当前系统只有2个主分区,用户可以有2种选择,可以选择扩展分区,或者选择创建普通的主分区。
常用的分区方式是第2种。
主分区的编号1-4
逻辑分区的编号:5-n
将刚刚创建的第四个分区删除掉
同时创建一个扩展分区输入n
,选择e
,使用剩余所有空间来创建扩展分区
最后在扩展分区上创建两个逻辑分区,大小自定义即可
修改系统表示
如果想把第3分区改为交换分区
- 需要输入命令
t
- 选择要修改的分区(这里就是选择第3分区)
- 修改系统标识id为82(id为82则表示是
Linux swap / Solaris
)
设置好了之后我们输入w
保存并退出即可
几点说明
刚创建好的分区不能直接使用,我们使用ll /dev/sda*
来查看现有的目录
但是并没有出现我们新创建的分区
1 | [root@localhost ~]#ll /dev/sda* |
必须重启系统才能使新的分区生效来创建目录
我们输入init 6
来重启系统,随后再次查看目录,这下就有我们新创建的sda4
和sda5
分区文件了
或者使用partx -a /dev/sda
命令获得新分区表
1 | [ root@localhost桌面]## ll /dev/sda* |
echo回显
输入echo XXX 会将XXX回显到终端上
但是也可以将XXX写入到文件中,具体语法如下
1 | echo XXX > /linux/1 |
随后终端输出XXX
但如果再次执行
1 | echo XXXHHH > /linux/1 |
终端则会输出XXXHHH
,表明>
是一个覆盖操作,而不是追加操作
而如果想实现追加操作,则需要使用>>
来实现
建立文件系统
新建立的分区是不能直接使用的,先要创建文件系统,相当于windows系统中的格式化操作。
在第5个分区上创建ext4文件系统
1 | mkfs.ext4 /dev/sda5 |
分区挂载mount命令
必须指明文件,不能写成mount /dev/sda5
1 | mount /dev/sda5/linux |
分区卸载
方式一:umount 分区
1 | umount /dev/sda5 |
方式二:
1 | umount /linux |
设置分区开机自动挂载
- 编辑
/etc/fstab
文件来实现
分区 | 挂载点 | 分区类型 | 挂载选项 | dump备份 | 开机检测 |
---|---|---|---|---|---|
tmpfs | /dev/shm | tmpfs | defaults | 0 | 0 |
devpts | /dev/pts | devpts | gid=5 , mode=620 | 0 | 0 |
sysfs | /sys | sysfs | defaults | 0 | 0 |
proc | /proc | proc | defaults | 0 | 0 |
/dev/sda5 | /linux | ext4 | defaults | 0 | 0 |
挂载选项一般设置为defaults,dump备份和开机检测一般设为0
- 编辑好配置文件之后输入
:wq
保存并退出 - 使用
mount -a
命令来检查是否有错误- 如果有错误,会提示出来;如果没有错误,会把没有挂载的分区挂载上。
建立交换分区文件系统
使用mkswap /dev/sda3
命令,建立交换分区文件系统
使用swapon /dev/sda3
命令,查看或者激活交换分区
使用swapoff /dev/sda3
命令,关闭交换分区
设置交换分区开机自动激活,使用vi /etc/fstab
修改配置文件/etc/fstab
添加内容/dev/sda3 swap swap defaults 0 0
添加完毕之后使用swapon -a
来检查操作是否有问题
使用swapon -s
显示所有已用的分区
小结
- 分区重要操作
- 创建分区
- n
- e创建扩展分区
- p创建主分区
- n
- 逻辑分区编号:从5开始
- 分区有两个用途
- 数据盘
- 要先建立文件系统,使用
mkfs.XXX
(根据你的需要替换XXX,例如ext4,ext3) - 建立完文件系统,需要使用
mount
挂载来使用,不过挂载只能在开机状态使用,重启之后无效 - 设置自动挂载,修改配置文件
- 修改完配置文件之后使用
mount -a
检查是否有错误
- 要先建立文件系统,使用
- 交换分区
- 先使用
mkswap
命令格式化 - 随后使用
swapon
命令激活交换分区 - 设置开机自动激活:修改配置文件
- 使用
swapon -a
检查是否有错误
- 先使用
- 数据盘
- 创建分区
文件及目录安全
在Linux中的每一个文件或目录都包含有访问权限,这些权限决定了谁能访问和如何访问这些文件和目录
例如:drwxr-xr-x. 2 root root 4096 2月 23 2012 Desktop
其中:d
表示是目录,rwx
,r-x
,r-x
分别是三部分权限
- 用户权限:文件所有者的权限
- 组权限:文件所属组的权限
- 其他人权限:既不是文件所有者,也不在文件所属组的其他用户
每一部分权限又分为三部分:
权限 | 文件 | 目录 |
---|---|---|
r | 读文件的内容 | 显示目录下的内容 |
w | 修改文件内容 | 目录下添加、删除、修改文件 |
x | 可执行权限 | 进入目录的权限 |
测试读/写权限
- 切换到stu用户
- 使用
su - stu
命令
- 使用
- 进入tmp目录
- 使用
cd /tmp
命令
- 使用
- 创建临时文件并写入sss
- 使用
echo sss > 1
命令
- 使用
- 查看文件访问权限
- 使用
ll
命令
- 使用
- 新建终端,切换到stu2用户
- 快捷键Ctrl + Shift + T新建终端
- 使用
su - stu2
命令切换至stu2用户
- 进入tmp目录
- 使用
cd /tmp
命令 - 使用
ll
命令查看所有目录与权限,发现第3步我们创建的1文件也存在-rw-rw-r--. l stu stu4 9月29 14:03 1
- 用户权限只有
rw
,组权限只有rw
,其他人权限只有r
- 使用
- 分析stu2对1文件的权限
- 由于1文件并不是stu2创建的,所以stu2并没有1文件的用户权限
- 使用id stu2查看stu2所属的组,看看stu2是否有stu的组权限(如果按着老师的步骤来,这里是有组权限的,但是我们可以通过修改/etc/group文件修改stu2的所属组)
- 如果有组权限(
uid=501(stu2) gid=501(stu2)组=501(stu2) ,500(stu) ,502(test)
),那么我们可以对1文件进行读写操作- 使用
cat 1
验证读权限 - 使用
echo ssshhh >> 1
验证修改权限
- 使用
- 如果没有组权限,只有可其他人权限,则只能进行读操作
- 使用
cat 1
验证读权限 - 使用
echo ssshhhh >> 1
则会报错:权限不够
- 使用
- 如果有组权限(
测试执行权限
那么至此,关于stu2用户的操作就结束了,下面我们切换到stu用户继续练习执行权限
- 由于stu1是用户权限,所以我们先切换到
tmp
目录,并修改1
文件- 使用
cd /tmp
切换到tmp
目录 - 使用
vi 1
编辑1
文件
- 使用
- 编辑1文件的内容
- 写入
pwd
,who
,和cal
这三条命令(cal是calendar日历的缩写) - 写入完成之后使用
wq
保存并退出
- 写入
- 执行
1
文件内容- 刚刚我们在1文件中写入了三个常用命令
- 那么使用
source 1
可以执行1文件中的命令
- 执行结果
- 显示当前路径
- 显示目前有哪些用户登入系统
- 显示日历
- 一点补充
- 如果当前文件有执行权限,可以使用
./1
来执行文件(这里的1是文件名) - 但当前我们的权限不够,只有
rw-
,没有x
执行权限
- 如果当前文件有执行权限,可以使用
修改权限
使用chmod命令(change mode)
其中u
表示用户权限(user),g
表示组权限(group),o
表示其他人权限(other),a
表示所有权限(all)
举例1:给1文件的用户权限增加可执行权限
1 | chmod u+x 1 |
举例2:给1文件的其他人权限指定只有执行权限
1 | chmod o=x 1 |
那么此时的1文件的权限如下
-rwxrw—x.l stu stu 12 9月29 14:20 1
- 用户权限有
rwx
- 组权限有
rw
- 其他人权限只有
w
由于现在stu有了可执行权限,所以这次我们使用./1
命令就能执行文件1中的命令了
如何直接执行1中的命令呢
现在我们有两种执行1文件中的命令方式,分别是
source 1
./1
那么有没有更简单的方式呢?当然是有的
- 由于1文件名不是很好听啊,我们先使用
mv 1 stuC
命令,将1
文件移至stuC
文件中,如果stuC
目录不存在则会将1
重命名为sutC
,所以也可以用此命令达到改名的效果 - 随后使用
echo $PATH
命令查看可以直接执行命令的目录 - 使用
cp stuC /home/stu/bin
,将stuC文件copy到/home/stu/bin
文件中 - 直接输入
stuC
命令,现在就能直接执行stuC
中的命令
八进制表示法
之前我们修改权限的时候使用的命令如下
1 | chmod u+x |
此种方式只能修改用户权限,如果我们同时还想修改组权限和其他人权限,那么我们就要敲三次代码,有没有更简单的方式呢?
1 | chmod 532 |
5的二进制是101
,3的二进制是011
,2的二进制是010
此种修改方式会将用户权限修改为r-x
,组权限修改为-wx
,其他人权限修改为-w-
,可以一次性修改三个用户权限
查找命令所在地
linux的所有命令都是有位置的
例如我们现在查询一下fdisk
和chmod
命令在系统的什么位置,使用which
1 | [ root@localhost桌面]## which fdisk |
fdisk在/sbin/fdisk
路径下
chmod在/bin/chmod
路径下
/sbin
路径下是管理员才能执行的命令
/bin
路径下是管理员或普通用户能执行的命令
特殊权限
用户特殊权限
- 一般情况下,普通用户不能执行
/sbin
路径下的命令 - 但们现在想让普通用户也能执行
/sbin
路径下的命令该怎么做呢?- 用户
s
权限:对于可执行的文件,所有用户具有文件所有者的权限
- 用户
- 原本的
fdisk
是root
用户的权限,那么我们给普通用户加上s
权限并指明命令路径
,那么普通用户对fdisk
命令,也拥有了root
用户权限,然后就能执行了
1 | chmod u+s /sbin/fdisk |
改变文件用户所有者
- 需在root权限下执行该命令
- chown [用户] [文件]
组特殊权限
相关命令:chgrp
功能:改变文件的组所有者
用法:chgrp 组名 文件名
- 例如:将
11
文件的组,修改为test
,前提是当前用户需属于test
组
1 | chgrp test 11 |
文件特殊权限
-
给文件添加
s
特殊权限,不管谁在目录下创建文件,文件的组所有者,都是当前目录的组所有者(例如)- chmod g+s [文件名]
-
给文件添加
t
特殊权限,只有文件或目录的用户所有者可以删除自己的文件- chmod o+t [文件名]
查看指定目录的权限
ll -d
删除文件
-
其他用户权限需要有
w
权限才能删除文件 -
具体命令
rm [文件名]
-
删除无需提示
rm -f [文件名]
-
文件
目录
不能直接删除,若想删除,则使用-r
- rm -r [文件目录]
- 就算目录里有内容,也可以删除
-
如果删除目录出现提示确认是否删除
- 则使用
rm -fr [文件目录]
- 则使用
chown命令
- chown既可以修改文件所有者,也可以修改组所有者,需在
root
权限下执行- chown [用户所有者]:[组所有者] [文件名]
- 以上命令是将文件的用户所有者和组所有者均修改
- chown stu:stu2 a
- 以上命令是将
a
文件的用户所有者修改为stu
,组所有者修改为stu2
- 以上命令是将
- chown [用户所有者]:[组所有者] [文件名]
- chown也可以只修改组所有者
- chown :[组所有者] [文件名]
改变文件属性
- 列出文件属性
- lsattr [文件名]
- 修改文件属性
- chattr +/-[属性] [文件名]
- 常用属性
e
:编辑属性a
:只可添加属性(e和a同时存在,则只可追加,不可编辑)i
:不可改变属性(就算你是root用户也不可改变,也不能删除)- 解决方案,
chattr -i [文件名]
,需要将i
属性去掉
- 解决方案,
文件目录相关命令
- clear
- 清除终端屏幕
- cmp(compare)
- 比较两个文件是否相同
- 相同则没有任何显示
- 不相同则会显示哪儿不同
- 比较两个文件是否相同
- 查看指定目录的权限
- ll -d
- 复制文件
- 将多个文件复制到目录中,保留原有文件名
- cp [文件1] [文件2] [目录]
- 创建文件1的副本,命名为文件2
- cp [文件1] [文件2]
- 复制目录
- cp -r [目录1] [目录2]
- 如果目录2存在,则将目录1复制到目录2
- 如果目录2不存在,则创建目录1的副本,命名为目录2
- cp -r [目录1] [目录2]
- 将多个文件复制到目录中,保留原有文件名
- 移动文件
- 将多个文件移动到目录中,保留原有文件名
- mv [文件1] [文件2] [目录]
- 重命名
- mv [文件1] [文件2]
- 移动目录
- mv [目录1] [目录2]
- 如果目录2存在,则将目录1复制到目录2
- 如果目录2不存在,则重命名目录1名字为目录2
- mv [目录1] [目录2]
- 将多个文件移动到目录中,保留原有文件名
- 查找文件
- find [路径] -name [文件名]
- 例如:
find / -name passwd
,全盘搜索passwd
文件
- 文件压缩与解压缩
- zip压缩
- zip [压缩文件名] [文件名] [文件名] [文件名]
- 例如
zip test.zip 1 2 3
,将1
、2
、3
这三个文件,压缩到test.zip
文件
- zip解压缩
- upzip [解压缩文件名]
- 继续使用上面的例子,刚刚我们把
1
、2
、3
这三个文件,压缩到了test.zip
文件 - 那现在我们先删除
1
、2
、3
这三个文件,然后unzip test.zip
ll
查看目录,可以看到123
- gzip压缩
- 只能对文件压缩,不能对目录压缩
- 格式:gzip [文件1] [文件2] …
- 例如:gzip 1
- 会将文件
1
,变成1.gz
- 会将文件
- gzip解压缩
- gunzip [文件]
- 例如:gunzip 1.gz
- zip压缩
- 文件打包命令
- tar 将目录打包成一个文件
- 格式:tar -cf [包名.tar] [目录]`
- 举例:tar -cf test.tar ss
- 该命令是将
ss
目录打包成一个test.tar
- 该命令是将
- 释放包
- 格式:tar -xf [包名.tar]
- 举例:tar -xf [test.tar]
- 打包并压缩
- 格式:tar -czf [包名.tgz]/[包名.tar.gz] [目录]
- 举例:tar -czf test.tgz ss
- 将ss目录打包成test.tgz,并压缩
系统运行监控与进程管理
系统性能监控
-
top命令,单键命令,一个按键表示一种功能。
- 常用按键:
- H 帮助
- U 监视用户
- K 结束进程
- R 修改进程优先顺序
- Q 退出
- 常用按键:
-
测试命令
cat /dev/zero > /dev/null &
后台运行- 说明
/dev/zero
:不停的输出0的设备/dev/null
:永远不会存满的设备
-
后台运行的进程需要我们用K命令
请求
/强制
进程终止- 输入K,然后输入要终止的进程
- 请求进程终止是15(默认)
- 强制进程终止是9
- 根据作业值杀进程,
kill %1
,杀掉作业值为1的进程,这里省略了-15
,因为这是默认方式,如果强制杀进程,则应为kill -9 %1
,而且只能删除当前终端的作业 - 杀死全部进程
kill -9 cat
,杀死所有cat进程
-
修改进程优先级,使用R命令,随后输入要修改的pid(负载均衡的权重?)
-
检测指定用户使用的进程,使用U命令,随后输入用户名(root/stu)
-
查看后台运行的进程,使用
jobs
命令 -
内存使用监测,使用
free
命令 -
查看系统当前在线用户,使用
who
命令- 查询更详细的信息,使用
who -u
命令,可以看到在线用户的进程id,通过杀进程,可以让用户下线
- 查询更详细的信息,使用
-
查看曾经登陆过系统的用户,使用
last
命令- 查看指定用户的登录情况,使用
last [username]
,例如last root
- 查看指定用户的登录情况,使用
-
改变已有进程的优先顺序,使用
renice
命令renice -5 9527
,给9527进程赋予优先顺序-5
-
改变(设置)即将运行进程的优先级,使用
nice
命令nice -n -10 cat /dev/zero > /dev/null &
- 设置
cat /dev/zero > /dev/null &
在后台运行,同时设置其优先级为-10
- 设置
- nice -10 cat /dev/zero > /dev/null &
- 设置
cat /dev/zero > /dev/null &
在后台运行,同时设置其优先级为10
- 设置
- nice --10 cat /dev/zero > /dev/null &
- 设置
cat /dev/zero > /dev/null &
在后台运行,同时设置其优先级为-10
- 设置
网络连接配置与管理
图形化界面配置
- ifconfig查看虚拟机网络配置
- ipconfig查看Windows网络配置,记录子网掩码,网关,DNS服务器,用于下面的填写
- 编辑配置 -> IPv4设置 -> 手动 -> 填写静态地址,子网掩码,网关 -> 配置DNS服务器,逗号分隔
setup配置
- setup -> 网络配置 -> 设备配置 -> 重复上面的填写内容
- service network restart 重启服务配置生效
- ifconfig查看配置的静态ip,尝试ping
修改配置文件
-
vi /etc/sysconfig/network-script/ifcfg-XXX
-
dhcp模式下不需要配置ip,dns,子网掩码等
-
桥接模式需要手动配置这些内容
-
上面两种的底层实现方式也是修改配置文件
简单暴力方式
- ifconfig eth1(设备名) 10.225.45.101(修改后的ip地址) netmask(子网掩码) 225.225.0.0 up
- 但此种方式只能临时修改,重启无效
修改MAC地址
- 先断开连接
- ifconfig eth1 down
- ifconfig eth1(设备名) hw ether 00:0C:29:B1:86:AA
- 再重新连接
- ifconfig eth1 up
Linux服务与安全
-
/etc/services
- 可以列出所有 服务名 端口号/协议名 别名
- 不建议修改,可以加权限
- chattr +i /ect/services
-
cd /etc/rc.d/rcN.d
-
ls
-
rcN.d的N表示不同运行级别,ls用于查看该级别下的服务开启和关闭黄台
-
将S改为K,表示关闭服务
-
chkconfig
- 查询,修改不同服务运行级别下的状态
-
查询不同运行级别服务下的状态
- chkconfig --list 查看不同服务运行级别下的状态
- 可以搭配管道使用,查询特定服务的状态,例如chkconfig --list | grep net
-
修改不同服务运行级别下的状态
- chkconfig --level(修改运行级别) 123(修改123运行级别) sshd(修改服务名称) off(修改为off)
Linux期末考试
- 创建空白文件:/tmp/stu
1 | touch /tmp/stu |
- 创建目录:/home/ted/allen
1 | mkdir -p /home/ted/allen |
- 复制/etc/group文件到/tmp
1 | cp /etc/group /tmp |
- 复制/var/spool目录到/tmp目录下
1 | cp -r /var/spool /tmp |
- 将/var/tmp/old文件重命名为/var/tmp/new
1 | mv /var/tmp/old /var/tmp/new |
- 卸载软件:lsof
1 | rpm -e lsof --nodeps ## 如果有依赖,则加上--nodeps参数 |
- 安装软件vsftpd
1 | rpm -ivh /media/cdrom/Packages/vsftpd ... |
- 挂载光驱到/dvd,并设置该挂载开机自动执行
1 | mkdir /dvd |
- 配置yum仓库,设置仓库地址为本地/dvd,不使用密钥
1 | vim /etc/yum.repos.d/a.repo |
- 查询系统安装的sysstat的版本信息,将版本信息保存到/root/sysstat文件中
1 | rpm -q sysstat > /root/sysstat |
- 添加用户abc,指定用户的uid为600,设置abc用户的密码为1
1 | useradd -u 600 abc |
- 添加组tom5,把用户root加入到组tom5中
1 | groupadd tom5 |
- 设置stu账户登录时使用/bin/tcsh
1 | usermod -s /bin/tcsh stu |
- 彻底删除用户dog
1 | userdel -r dog |
- 删除组td
1 | groupdel td |
-
将磁盘进行分区,目前分区情况为:第一个分区20G,挂载到/;第二个分区为4G交换分区,如果不是,请自行修改。请按如下分区规则进行分区
- a. 创建第3个主分区,大小为1G
1
2
3
4
5
6fdisk /dev/sda
n ## new 新建分区
p ## primary 主分区
3 ## 分区编号3
## 按回车 不设置起始地址
+1G ## 大小为1G- b. 利用剩余全部空间创建扩展分区
1
2
3n ## new 新建分区
e ## entended 扩展分区
## 两次回车- c. 创建500M的第5个分将该分区标识改为交换分区的标识。
1
2
3
4
5
6n ## new 新建分区
## 回车
+500M ## 大小为500M
t ## 改变分区标识
5 ## 选择修改第5分区
82 ## 82为交换分区标识 -
使用ext4格式格式化第3个分区,设置该分区挂载到/Linux/test目录,并设置开机后自动挂载)
1 | mkfs -t ext4 /dev/sda3 |
- 格式化第5个分区为交换分区,激活该交换分区,并设置开机后自动激活该交换分区
1 | mkswap /dev/sda5 |
- 修改/etc/sysconfig/network-scripts目录的用户所有者为stu
1 | chown stu /etc/sysconfig/network-scripts |
- 修改/etc/sysconfig/ip6tables文件的权限为rw-rw-rw-
1 | chmod 666 /etc/sysconfig/ip6tables |
-
配置DHCP服务。按如下步骤操作
- A. 安装DHCP软件
1
2## 前面已经配置过yum源,这里可以使用yum安装
yum install dhcp -y- B. 配置DHCP,满足如下要求
- 服务默认租约时间为10分钟
- 最大租约时间为6小时
- 配置子网络为192.168.128.0
- 子网掩码:255.255.255.0
- 默认分配主机的ip的范围是:192.168.128.10 至 192.168.128.30
1
2
3
4
5
6
7vim /etc/dhcp/dhcpd.conf
## 编辑配置信息
default-lease-time 600;
max-lease-time 21600;
subnet 192.168.128.0 netmask 255.255.255.0 {
range 192.168.128.10 192.168.128.30;
}- C. 设置DHCP服务在系统运行3和5级别是开启状态,其他级别是关闭的状态
1
chkconfig --level 35 decpd on
- D. 开启DHCP服务
1
service dhcpd start
-
NFS服务器的配置及应用
- A. 设置本地共享目录为/share,文件权限为rwxrwxrwx
1
2mkdir /share
chmod 777 /share- B. 将本地目录/share通过NFS进行共享,共享设置为允许所有ip进行读写操作
1
2
3vim /etc/exports
## 编辑配置信息
/share *(rw)- C. 重启NFS服务使上一步的共享目录操作生效
1
service nfs restart
- D. 设置NFS服务在第3、5运行级别上自动启动
1
chkconfig --level 35 nfs on
- E. 将127.0.0.1主机上共享的/share目录挂载到本地/nfs目录上,并设置为开机自动挂载
1
2
3
4
5mkdir /nfs
mount 127.0.0.1:/share /nfs
vim /etc/fstab
## 编辑配置信息
127.0.0.1:/share /nfs nfs defaults 0 0