注意:Linux 文件及文件夹权限,不要动不动就 777 权限,很危险的。
一、查看 Linux 文件权限
ls -l (通用)
ll (Ubuntu适用,等于ls -al)
二、权限标示符
r(读)、w(写)、x(执行)
4(读)、2(写)、1(执行)
注:目录必须有执行权才能读取
三、修改 Linux 文件权限
方法一
chmod -R 777 dir/
-R 更改dir 目录及dir内所有子文件和文件夹
777 指将“文件所属用户、所属用户组、其它用户”改为读、写、执行。
方法二
chmod 参数:a(用户及组)、u(用户)、g(组)、0(其他用户)
chmod 运算符:+(加)、-(减)、=(赋予)
chmod +x file.txt (用户、组、其他用户,加执行权)
chmod u+x file.txt (用户,加执行权)
四、Linux 常用文件权限
777(读写执行、读写执行、读写执行)
755(读写执行、读执行、读执行)
644(读写、读、读)
400(读、禁止、禁止)
Linux下要实现磁盘空间限制,需要安裝 quota 套件来实现。用户磁盘空间限制是以文件系统(分区)为单位的,想要限制在/home目录空间大小,那么必须为/home单独挂载一个分区。
一、规划文件系统
1.1、查看文件系统的容量等信息
df -h /
1.2、查看文件系统是否已加入quota支持
mount | grep /
1.3、为文件系统添加quota支持
编辑fstab文件,选择要设定 Quota 的文件系统,然后加入 usrquota 和 grpquota 选项:
vim /etc/fstab
/dev/sda1 / ext3 defaults,usrquota,grpquota 1 1
其中 /dev/sda1 可以用 uuid 标识信息来代替
UUID=a8454012-1fff-4d33-baa5-b57fb7d3e1e2 / ext3 defaults,usrquota,grpquota 1 1
那如何查看磁盘与分区的标识信息?
ls -all /dev/disk/by-uuid
1.4、临时添加quota支持(选做)
mount -o remount,usrquota,grpquota /
1.5、重新挂载文件系统
mount -o remount /
1.6、查看文件系统挂载是否正确
mount -a
1.7、添加新硬盘挂载到/home目录(选做)
如果你/home目录没有独立挂载一个分区,后期你可能想增加一个新的分区
mkfs.ext3 /dev/sda6 #格式化并加载一个新分区
mkdir /media/home
mount /dev/sda1 /media/home
cp -rf /media/home/* /home #复制旧/home的内容到新/home目录
umound /media/home fdisk -l #查看硬盘数及分区情况
fdisk /dev/sda #操作硬盘的命令
d:删除分区、l:列出所有分区类型、m:列出帮助信息、n:添加一个分区、p:列出分区表信息、q:不保存退出、t:改变分区类型、w:把分区表写入硬盘并退出
二、安装、初始化、启动、关闭 Quota
2.1、安裝硬盘 quota 套件
aptitude install quota quotatool
其中 quotatool 是一个基于命令行的磁盘配额设置和管理工具
2.2、初始化 quota 规则文件
quotacheck -avugm
chmod 600 /quota.* #修改规则文件权限
-a 为所有添加了quota支持的文件系统,建立 quota 规则文件
-v 显示建立 quota 规则文件过程中的信息
-u 建立 aquota.user 规则文件
-g 建立 aquota.group 规则文件
-m 强制初始化
2.3、启动关闭 quota 的服务
quotaon -avug #启动 quota 的服务
quotaoff -auvg #关闭 quota 的服务
三、配置 Quota 规则
3.1、为用户/组设置磁盘空间限额:
edquota -u username
edquota -g groupname
filesystem:说明该限制值是针对哪个分区,例如""/"或"/home"
blocks:使用者已使用的磁盘区块数量,该值由quota自动算出
soft:单位为KB,一个非强制性磁盘空间限额
hard:单位为KB,一个强制性磁盘空间限额
inodes:使用者已使用的档案数目
soft:非强制性的inode的限制
hard:强制性的inode的限制
3.2、为批量用户复制规则
edquota -p group1 user1,user2,user3 ..
3.3、为用户/组设置宽限期
通常将 hard 值设置大于 soft 值,就是为了让宽限期发挥作用,默认超额宽限期为7天。
edquota -t
四、Quota 报表
4.1、用户/组限额报表
-s 使用1024倍数来指定单位,会显示如M 之类的单位。
quota -uvs user1 user2 user3
quota -gvs group1 group2 group3
4.2、文件系统限额报表
查看所有使用者的 quota 限制情況
repquota -auvs
五、Quota 测试与管理
1、切换到user1用户
2、向当前目录的bigfile文件写入10次,每次1m的数据
3、如果写入大小没有超过 hard 值,那么进入宽限期倒计时。
4、如果写入超过hard值,那么写入失败。
su user1
dd if=/dev/zero of=bigfile bs=1M count=10
某台Linux服务器ping不通域名, 如下提示:
# ping www.
ping: unknown host www.
如果确定网络没问题的情况下, 可以通过如下步骤寻找解决办法:
1) 确定设置了域名服务器, 没有的话, 建议设置Google的公共DNS服务, 它应该不会出问题的
nameserver 8.8.8.8
nameserver 8.8.4.4
2) 确保网关已设置
# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-eth0:GATEWAY=192.168.40.1
ps:ubuntu 10.3 找不到此文件,也许版本不对
3) 确保可用dns解析
# grep hosts /etc/nsswitch.conf
hosts: files dns
如果以上哪个有问题, 修正后, 再测试, 应该就没问题了:
#ping -c 3 www.
PING www.a. (220.181.6.175) 56(84) bytes of data.
64 bytes from 220.181.6.175: icmp_seq=0 ttl=50 time=9.51 ms
64 bytes from 220.181.6.175: icmp_seq=1 ttl=50 time=8.45 ms
64 bytes from 220.181.6.175: icmp_seq=2 ttl=50 time=8.97 ms
--- www.a. ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 8.450/8.977/9.511/0.446 ms, pipe 2