关于/etc/fstab文件 下来学习/etc/fstab这个文件的所有参数,这个文件是非常重要的。这个文件是配置文件系统的体系,创建的所有分区,都必须写在这个文件里面,否则下次启动的时候你的分区是挂不起来的。
首先学习一个mount –a 这个命令
复制代码代码如下:
[root@localhost ~]# umount /dev/sda7
[root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 4061572 2589456 1262468 68% / /dev/sda6 505604 10545 468955 3% /home /dev/sda2 4061572 1799208 2052716 47% /var /dev/sda1 101086 13588 82279 15% /boot tmpfs 192132 0 192132 0% /dev/shm [root@localhost ~]# /dev/sda7这个分区被成功卸载了
然后再/etc/fstab这个文件里面手动的添加这样一行
复制代码代码如下:
[root@localhost ~]# mount -a
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 3.9G 2.5G 1.3G 68% / /dev/sda6 494M 11M 458M 3% /home /dev/sda2 3.9G 1.8G 2.0G 47% /var /dev/sda1 99M 14M 81M 15% /boot tmpfs 188M 0 188M 0% /dev/shm /dev/sda7 471M 18M 405M 5% /mnt [root@localhost ~]# /dev/sda7又被重新的挂载到/mnt下面了
下面是/etc/fstab这个文件中每个参数的含义
参数的解释 关于ext3的默认选项
也就是刚才在/etc/fstab那个default里面包含的五个参数
复制代码代码如下:
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# mkdir file [root@localhost mnt]# ls file [root@localhost mnt]# 可以看到,文件系统是可读可写的。下面将文件系统改为ro
在/etc/fstab文件中添加这样一行,
第二个参数suid 将它改成no suid
复制代码代码如下:
[root@localhost ~]# su - user1
[user1@localhost ~]$ passwd Changing password for user user1. Changing password for user1 (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [user1@localhost ~]$
普通用户的确是可以改变自己的密码的,接下来,在/etc/fstab这个文件里面添加一行内容。
复制代码代码如下:
[root@localhost ~]# mount -o remount /
[root@localhost ~]# mount |grep /dev/sda3 /dev/sda3 on / type ext3 (rw,nosuid) [root@localhost ~]# 可以看到,的根文件系统已经有了一个nosuid的参数了 同样的,在切换到普通用户,修改自己的密码
复制代码代码如下:
[root@localhost ~]# su - user1
[user1@localhost ~]$ passwd Changing password for user user1. Changing password for user1 (current) UNIX password: passwd: Authentication token manipulation error [user1@localhost ~]$ 看到了,没有suid,一个普通用户是无法改变自己的密码嘚。因为根文件系统没有suid的功能,普通用户没有办法写到/etc/shadaw里面去
第三个参数是exec,将它换成noexec
复制代码代码如下:
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls shell [root@localhost mnt]# ./shell shell is A shell is B shell is C [root@localhost mnt]#
看到这个脚本是可以被执行的,
复制代码代码如下:
[root@localhost ~]# mount -o remount /mnt
[root@localhost ~]# [root@localhost ~]# cd /mnt/ [root@localhost mnt]# ls shell [root@localhost mnt]# ./shell bash: ./shell: /bin/sh: bad interpreter: Permission denied [root@localhost mnt]# 看到了,脚本将不能够运行,这个因为文件系统没有了执行功能,所以我脚本就不能运行了。
第四个参数dev,将它改成nodev
复制代码代码如下:
[root@localhost ~]# mount -o loop boot.iso /media/
[root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 4061572 2598728 1253196 68% / /dev/sda6 505604 10565 468935 3% /home /dev/sda2 4061572 1936516 1915408 51% /var /dev/sda1 101086 13588 82279 15% /boot tmpfs 192132 0 192132 0% /dev/shm /dev/sda7 482214 19600 412816 5% /mnt df: `/media/RHEL_5.4 i386 DVD': No such file or directory /root/boot.iso 9028 9028 0 100% /media [root@localhost ~]# cd /media/ [root@localhost media]# ls isolinux TRANS.TBL [root@localhost media]# cd isolinux/ [root@localhost isolinux]# ls boot.cat initrd.img memtest rescue.msg vmlinuz boot.msg isolinux.bin options.msg splash.lss general.msg isolinux.cfg param.msg TRANS.TBL [root@localhost isolinux]# 这样,iso文件就被挂载到了/media这个目录里面。
下面在来学习一下在挂载的时候指定一个拥有人和拥有组的
复制代码代码如下:
[root@localhost ~]# mkfs.vfat /dev/sda7
mkfs.vfat 2.11 (12 Mar 2005) [root@localhost ~]# 已经吧/dev/sda7格式化成了fat32
复制代码代码如下:
[root@localhost ~]# id user1
uid=500(user1) gid=500(user1) groups=500(user1) [root@localhost ~]# mount -o uid=500,gid=500 /dev/sda7 /mnt/ [root@localhost ~]# mount |grep /dev/sda7 /dev/sda7 on /mnt type vfat (rw,uid=500,gid=500) [root@localhost ~]#
直接在挂载的时候加了一个uid gid 的参数
复制代码代码如下:
[root@localhost ~]# cp /etc/fstab /mnt/
[root@localhost ~]# cd /mnt/ [root@localhost mnt]# ll total 8 -rwxr-xr-x 1 user1 user1 760 Feb 20 01:47 fstab [root@localhost mnt]# 可以看到,复制过来的文件的拥有人和拥有组已经变成user1了,这个是因为刚才在挂载的时候已经指定了他文件系统的uid和gid
扩展swap分区
复制代码代码如下:
[root@localhost ~]# free -m
total used free shared buffers cached Mem: 375 369 6 0 7 83 -/+ buffers/cache: 278 97 Swap: 1027 128 899 [root@localhost ~]#
现在系统中swap是1024M
复制代码代码如下:
[root@localhost ~]# fdisk /dev/sda
Changed system type of partition 8 to 82 (Linux swap / Solaris) 格式化swap
复制代码代码如下:
[root@localhost ~]# mkswap /dev/sda8
Setting up swapspace version 1, size = 509927 kB [root@localhost ~]# 启动swap
复制代码代码如下:
[root@localhost ~]# swapon /dev/sda8
[root@localhost ~]# 现在我在查询一下swap的大小
复制代码代码如下:
[root@localhost ~]# free -m
total used free shared buffers cached Mem: 375 369 6 0 7 82 -/+ buffers/cache: 278 96 Swap: 1513 128 1385 [root@localhost ~]#
可以看到的swap分区已经增大了500M
(2)、利用分区的剩余空间来扩展swap
复制代码代码如下:
[root@localhost ~]# free -m
total used free shared buffers cached Mem: 375 368 7 0 7 81 -/+ buffers/cache: 278 96 Swap: 1513 128 1385 [root@localhost ~]# 然后利用dd工具来创建一个swap文件
复制代码代码如下:
[root@localhost ~]# dd if=/dev/zero of=swapfile bs=1M count=100
100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.632534 seconds, 166 MB/s [root@localhost ~]# 格式化swap
复制代码代码如下:
[root@localhost ~]# mkswap swapfile
Setting up swapspace version 1, size = 104853 kB [root@localhost ~]#
把这个文件当做一个分区来对待
复制代码代码如下:
[root@localhost ~]# swapon swapfile
[root@localhost ~]# 现在来查询一下swap分区的大小
复制代码代码如下:
[root@localhost ~]# free -m
total used free shared buffers cached Mem: 375 368 6 0 1 90 -/+ buffers/cache: 276 98 Swap: 1613 128 1485 [root@localhost ~]# 可以看到系统的swap分区已经扩大100M
最后,要想下次系统重启生效,必须写在/etc/fstab文件中
以上的两种方法就是用来扩展swap分区的
复制代码代码如下:
[root@localhost ~]# swapon -s
Filename Type Size Used Priority /dev/sda5 partition 1052216 131640 -1 /dev/sda8 partition 497972 0 -2 /root/swapfile file 102392 0 -3 [root@localhost ~]# 在这里,可以看到swap是有哪些文件组成的,还有优先级,数字越大,优先级越高。可以在/etc/fstab文件中default后面加上pri=X(X为优先级)
在linux系统当中,怎么去挂载一个NFS的网络文件系统呢
复制代码代码如下:
[root@localhost ~]# showmount -e 192.168.0.254
Export list for 192.168.0.254: /var/ftp/pub 192.168.0.0/24 [root@localhost ~]# 下面来挂载nfs网络资源
复制代码代码如下:
[root@localhost ~]# mount -t nfs 192.168.0.254:/var/ftp/pub/ /mnt/
[root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 4061572 2309084 1542840 60% / /dev/sda6 505604 10565 468935 3% /home /dev/sda2 4061572 1857588 1994336 49% /var /dev/sda1 101086 13588 82279 15% /boot tmpfs 192132 0 192132 0% /dev/shm /dev/hdc 2935370 2935370 0 100% /media/RHEL_5.4 i386 DVD 192.168.0.254:/var/ftp/pub/ 4061600 1857600 1994336 49% /mnt [root@localhost ~]#
Nfs网络资源就被成功挂载到本地了。 至此,关于linux文件系统管理的内容就介绍完了,希望对大家有所帮助。 |