系统启动,磁盘配额,访问控制列表ACL
时间:2015-04-21 19:55 来源:linux.it.net.cn 作者:IT
第一、其他命令的介绍
nice 、 renice
nice -# command (#代表一个数值,取值范围: -20 ~ 19 ,优先级越低,数值越高)
nice --19 gftp
renice # pid
sort 《---排序命令
sort s1.txt
sort -n s1 《--把数字当数值排序
[root@dns test]# sort -t: -k1,1 -k3,3n s1.txt <--- -t 指定分割域,-k指定排序的字段
baidu:4000:500:baidu
baidu:4000:3500:hello
dede:600:600:dede
google:5000:8000:google
sina:4500:4000:sina
sina:4500:4000:sina
up:4500:3000:up
wangyi:4000:5100:wangyi
uniq 《---去除连续的重复行
cut 《--字段截取
cut -d: -f1,3,4 s1.txt <---默认是空格作为分割符, -d指定分割符号, -f指定显示的字段
[root@dns test]# cat s3
10.1.2.3
192.168.20.1
10.1.2.3
[root@dns test]# sort s3 | uniq <--最简单的网络IP访问量的统计,把IP单独显示出来
10.1.2.3
192.168.20.1
wc 《--- 统计命令
[root@dns test]# cat s4
hello moto
welcome here
[root@dns test]# wc s4
2 4 24 s4 <---行数,字符串数,字符数(包括字母、数字、空格、还有换行符号)
[root@dns test]# sort s3 | uniq | wc -l <--最简单的网络IP访问量的统计
第二、系统的启动流程
1、启动流程
开机--》Bois实现硬件自检---int 19--->读取mbr里的bootloader(grub)---》 根据配置文件,找到要引导的系统的内核文件等并加载到内存里---》加载内核之前先加载initrd(随机内存盘,这是一个小型的文件系统,放在内存里面),作用:驱动硬件,能够让内核理解系统所在的那个设备--—》内核运行---》运行产生第一个进程init ---> init 读取/etc/inittab 根据配置文件,判断系统进去哪个运行级别----》init 运行 /etc/rc.d/rc.sysinit 进行系统的初始化--》根据运行级别进去不同的目录进行服务启动---》rc.local---》 根据不同的运行级别:
如果 2、3、5 :
/sbin/mingetty 产生6个文本终端,并且调用login程序验证用户登录
如果运行级别5:
xdm ---> login 来验证用户登录
2、服务管理
修改服务启动的方式:
1、ntsysv --level 35 <---推荐的方式
2、手工方式,进去运行级别对应的文件夹,把软连接的名字更改
S --》 开机自动运行
K --》 开机不启动
3、命令行方式
chkconfig --list
chkconfig --level 35 cpuspeed on
chkconfig --level 35 cpuspeed off
添加一个服务:
chkconfig --add apache
删除一个服务:
chkconfig --del apache
要成功添加一个服务,需要作的就是:
1、把服务的脚本放在/etc/rc.d/init.d
2、服务的启动脚本必须有这两行的注释内容
# chkconfig: - 85 15
第一个字段 -代表所有级别默认都不自动启动,如果是 35代表在运行级别3、5自动启用
第二个85 代表如果服务开机启动,那么启动的顺序就是85
第三个15 代表关机的时候,服务关闭的顺序
# description: My Apache 《--服务的描述,可以随便描述
3、给予脚本运行权限
chmod 755 /etc/rc.d/init.d/apache
否则:
# service apache start
apache: 未被识别的服务
第二、inode、软链接、硬链接
inode : 每当创建一个文件和目录的时候(除了硬链接之外),都会为这个文件创建一个inode编号,这些信息都存放inode table
软链接:
ln -s /etc/fstab /tmp/test/linktofstab
[root@dns test]# ls -li
总计 0
196610 lrwxrwxrwx 1 root root 10 10-26 13:52 linktofstab -> /etc/fstab
[root@dns test]# ls -li /etc/fstab
6293259 -rw-r--r-- 1 root root 838 09-10 10:46 /etc/fstab
你会发现两个文件的inode编号不一样,就代表这是两个单独的文件
特点:
1、它会创建一个新的inode编号,代表这是独立的文件
2、相当于windows的快捷方式,你访问的时候,多了一个中转的过程,最终访问的内容就是它所链接的目标文件;
3、它可以跨文件系统(跨分区)创建;
4、它可以对目录进行链接
硬链接:
特点:
1、它不会新建一个inode编号,不代表一个独立文件;
2、对所谓的“源文件”进行删除,并不影响硬链接文的访问;
为什么:
因为硬链接还保存这访问这个文件对应的数据块的指针
3、硬连接不减少磁盘数据块的容量
4、它是不能跨文件系统创建;
5、它相当于为文件创建了一个冗余
6、不能手工用命令对目录进行硬链接
第三、磁盘配额
1、用到web/ftp/mail等一切需要限制用户使用硬盘空间的地方
2、特点:只能对分区进行配置
步骤:
1、新建一个分区,或者用原来的分区也行,但需要重新修改挂载参数再重新挂载
新建分区,格式化成ext3
2、用支持磁盘配额的参数对分区进行挂载
mkdir /ftproot
3、如果想永久生效就必须更新fstab
/dev/sda11 /ftproot ext3 defaults,usrquota,grpquota 0 0
4、对启用了磁盘配额的分区生成配置文件
quotacheck -cavug
-c 忽略已经原有的配置文件并再次生成
-a 扫面所有使用挂载参数挂载的分区,并对他们生成配置文件
-u 生成针对用户的限制配置文件
-g 生成针对组的限制配置文件
-v 把生成的过程显示出来
5、针对你要对哪些用户进行限制的配置
edquota -u tom
Disk quotas for user tom (uid 512):
Filesystem blocks soft hard inodes soft hard
/dev/sda11 0 20000 22000 0 0 0
6、启用磁盘配置功能
quotaon /dev/sda11
7、查看配额使用情况:
shell> repquota -a
*** Report for user quotas on device /dev/sda11
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 17636 0 0 3 0 0
注意:你会发现没有tom的使用情况和限制信息
为了让tom能对这个目录进行写入内容,必须修改权限:
chmod 777 /ftproot
然后测试:
a、先创建20M的文件
dd if=/dev/zero of=/ftproot/tomfile1 bs=1M count=20
b、查看报告
c、再创建10M的文件,看看是否成功?
dd if=/dev/zero of=/ftproot/tomfile2 bs=1M count=10
^文件名不一样,要注意
留意一下报告
例子2:针对组进行磁盘限制
你要针对组的磁盘配置,就必须挂载的时候使用grpquota的参数
1、需要使用两个帐号,他们的初始组(gid)一定是要相同
groupadd lily
useradd -g lily user1
useradd -g lily user2
2、编辑组的配额
edquota -g lily
3、测试
......
结果:该组的每个用户使用的总容量不能超过组配额的容量,也就是说,我对组限制了20M的使用容量,该组下的所用用户(user1和user2)加起来不能超过20M,如果user1已经用了20M,那么user2就不能再使用了。怎么解决?
解决方法:把该组下面的各个用户再进行单独的用户磁盘配额限制:
edquota -u user1
edquota -u user2
注意:要实验成功,测试的用户必须gid相同,否则失效
其他命令:
更改默认宽限期
edquota -t
针对某个用户修改宽限期:
edquota -T -u tom
复制某个用户的限制设置,快速配置另外的一个用户
edquota -p tom -u upl
关闭某个分区的磁盘配置支持
quotaoff
第四、访问控制列表
acl <---- 更细的权限控制
setfacl
getfacl target
背景:
tom 用户属于 tom组 ---》 rw
upl 用户属于 tom组 ----> r-x
bean 用户属于 tom组 ----> rw
mary 用户不属于tom组,就是other ---》 r
[root@dns lily]# getfacl tomfile
# file: tomfile
# owner: tom
# group: tom
user::rw- <---拥有者访问文件的时候所具有的权限
user:upl:r-x <----针对upl访问时候的权限
group::rw- <--- bean属于 tom,所以bean用户访问这个文件的时候就具有 rw
mask::rwx
other::r--
setfacl -m user::rw,user:upl:rx,group::rwx,other::r
背景2:
tom 用户属于 tom组 ---》 rw
upl 用户属于 tom组 ----> r
bean 用户属于 tom组 ----> rw
mary 用户不属于tom组,就是other ---》r
# file: tomfile
# owner: tom
# group: tom
user::rw- <---拥有者访问文件的时候所具有的权限,直接看这里,这里写什么权限,拥有者就具有什么权限
user:upl:r-- <----针对upl访问时候的权限,与mask去交集,--> r
group::rw- <--- bean属于 tom,所以bean用户访问这个文件的时候就具有 rw
mask::rwx
other::r--
setfacl -m user::rw,user:upl:r,group::rw,other::r ./tomfile
背景3:
tom 用户属于 tom组 ---》rw
upl 用户属于 tom组 ----> r
bean 用户属于 tom组 ----> r
mary 用户不属于tom组,就是other ---》rw
# file: tomfile
# owner: tom
# group: tom
user::rw- <---拥有者访问文件的时候所具有的权限,直接看这里,这里写什么权限,拥有者就具有什么权限
user:upl:r-- <----针对upl访问时候的权限,与mask去交集,--> r
group::rw- <--- bean属于 tom,与mask取交集 r
mask::r-x
other::rw- <---也是直接判断,不考虑mask
setfacl -m user::rw,user:upl:r,group::rw,other::rw,mask::rx ./tomfile
(责任编辑:IT)
第一、其他命令的介绍 nice 、 renice nice -# command (#代表一个数值,取值范围: -20 ~ 19 ,优先级越低,数值越高) nice --19 gftp renice # pid sort 《---排序命令 sort s1.txt sort -n s1 《--把数字当数值排序 [root@dns test]# sort -t: -k1,1 -k3,3n s1.txt <--- -t 指定分割域,-k指定排序的字段 baidu:4000:500:baidu baidu:4000:3500:hello dede:600:600:dede google:5000:8000:google sina:4500:4000:sina sina:4500:4000:sina up:4500:3000:up wangyi:4000:5100:wangyi uniq 《---去除连续的重复行 cut 《--字段截取 cut -d: -f1,3,4 s1.txt <---默认是空格作为分割符, -d指定分割符号, -f指定显示的字段 [root@dns test]# cat s3 10.1.2.3 192.168.20.1 10.1.2.3 [root@dns test]# sort s3 | uniq <--最简单的网络IP访问量的统计,把IP单独显示出来 10.1.2.3 192.168.20.1 wc 《--- 统计命令 [root@dns test]# cat s4 hello moto welcome here [root@dns test]# wc s4 2 4 24 s4 <---行数,字符串数,字符数(包括字母、数字、空格、还有换行符号) [root@dns test]# sort s3 | uniq | wc -l <--最简单的网络IP访问量的统计 第二、系统的启动流程 1、启动流程 开机--》Bois实现硬件自检---int 19--->读取mbr里的bootloader(grub)---》 根据配置文件,找到要引导的系统的内核文件等并加载到内存里---》加载内核之前先加载initrd(随机内存盘,这是一个小型的文件系统,放在内存里面),作用:驱动硬件,能够让内核理解系统所在的那个设备--—》内核运行---》运行产生第一个进程init ---> init 读取/etc/inittab 根据配置文件,判断系统进去哪个运行级别----》init 运行 /etc/rc.d/rc.sysinit 进行系统的初始化--》根据运行级别进去不同的目录进行服务启动---》rc.local---》 根据不同的运行级别: 如果 2、3、5 : /sbin/mingetty 产生6个文本终端,并且调用login程序验证用户登录 如果运行级别5: xdm ---> login 来验证用户登录 2、服务管理 修改服务启动的方式: 1、ntsysv --level 35 <---推荐的方式 2、手工方式,进去运行级别对应的文件夹,把软连接的名字更改 S --》 开机自动运行 K --》 开机不启动 3、命令行方式 chkconfig --list chkconfig --level 35 cpuspeed on chkconfig --level 35 cpuspeed off 添加一个服务: chkconfig --add apache 删除一个服务: chkconfig --del apache 要成功添加一个服务,需要作的就是: 1、把服务的脚本放在/etc/rc.d/init.d 2、服务的启动脚本必须有这两行的注释内容 # chkconfig: - 85 15 第一个字段 -代表所有级别默认都不自动启动,如果是 35代表在运行级别3、5自动启用 第二个85 代表如果服务开机启动,那么启动的顺序就是85 第三个15 代表关机的时候,服务关闭的顺序 # description: My Apache 《--服务的描述,可以随便描述 3、给予脚本运行权限 chmod 755 /etc/rc.d/init.d/apache 否则: # service apache start apache: 未被识别的服务 第二、inode、软链接、硬链接 inode : 每当创建一个文件和目录的时候(除了硬链接之外),都会为这个文件创建一个inode编号,这些信息都存放inode table 软链接: ln -s /etc/fstab /tmp/test/linktofstab [root@dns test]# ls -li 总计 0 196610 lrwxrwxrwx 1 root root 10 10-26 13:52 linktofstab -> /etc/fstab [root@dns test]# ls -li /etc/fstab 6293259 -rw-r--r-- 1 root root 838 09-10 10:46 /etc/fstab 你会发现两个文件的inode编号不一样,就代表这是两个单独的文件 特点: 1、它会创建一个新的inode编号,代表这是独立的文件 2、相当于windows的快捷方式,你访问的时候,多了一个中转的过程,最终访问的内容就是它所链接的目标文件; 3、它可以跨文件系统(跨分区)创建; 4、它可以对目录进行链接 硬链接: 特点: 1、它不会新建一个inode编号,不代表一个独立文件; 2、对所谓的“源文件”进行删除,并不影响硬链接文的访问; 为什么: 因为硬链接还保存这访问这个文件对应的数据块的指针 3、硬连接不减少磁盘数据块的容量 4、它是不能跨文件系统创建; 5、它相当于为文件创建了一个冗余 6、不能手工用命令对目录进行硬链接 第三、磁盘配额 1、用到web/ftp/mail等一切需要限制用户使用硬盘空间的地方 2、特点:只能对分区进行配置 步骤: 1、新建一个分区,或者用原来的分区也行,但需要重新修改挂载参数再重新挂载 新建分区,格式化成ext3 2、用支持磁盘配额的参数对分区进行挂载 mkdir /ftproot 3、如果想永久生效就必须更新fstab /dev/sda11 /ftproot ext3 defaults,usrquota,grpquota 0 0 4、对启用了磁盘配额的分区生成配置文件 quotacheck -cavug -c 忽略已经原有的配置文件并再次生成 -a 扫面所有使用挂载参数挂载的分区,并对他们生成配置文件 -u 生成针对用户的限制配置文件 -g 生成针对组的限制配置文件 -v 把生成的过程显示出来 5、针对你要对哪些用户进行限制的配置 edquota -u tom Disk quotas for user tom (uid 512): Filesystem blocks soft hard inodes soft hard /dev/sda11 0 20000 22000 0 0 0 6、启用磁盘配置功能 quotaon /dev/sda11 7、查看配额使用情况: shell> repquota -a *** Report for user quotas on device /dev/sda11 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 17636 0 0 3 0 0 注意:你会发现没有tom的使用情况和限制信息 为了让tom能对这个目录进行写入内容,必须修改权限: chmod 777 /ftproot 然后测试: a、先创建20M的文件 dd if=/dev/zero of=/ftproot/tomfile1 bs=1M count=20 b、查看报告 c、再创建10M的文件,看看是否成功? dd if=/dev/zero of=/ftproot/tomfile2 bs=1M count=10 ^文件名不一样,要注意 留意一下报告 例子2:针对组进行磁盘限制 你要针对组的磁盘配置,就必须挂载的时候使用grpquota的参数 1、需要使用两个帐号,他们的初始组(gid)一定是要相同 groupadd lily useradd -g lily user1 useradd -g lily user2 2、编辑组的配额 edquota -g lily 3、测试 ...... 结果:该组的每个用户使用的总容量不能超过组配额的容量,也就是说,我对组限制了20M的使用容量,该组下的所用用户(user1和user2)加起来不能超过20M,如果user1已经用了20M,那么user2就不能再使用了。怎么解决? 解决方法:把该组下面的各个用户再进行单独的用户磁盘配额限制: edquota -u user1 edquota -u user2 注意:要实验成功,测试的用户必须gid相同,否则失效 其他命令: 更改默认宽限期 edquota -t 针对某个用户修改宽限期: edquota -T -u tom 复制某个用户的限制设置,快速配置另外的一个用户 edquota -p tom -u upl 关闭某个分区的磁盘配置支持 quotaoff 第四、访问控制列表 acl <---- 更细的权限控制 setfacl getfacl target 背景: tom 用户属于 tom组 ---》 rw upl 用户属于 tom组 ----> r-x bean 用户属于 tom组 ----> rw mary 用户不属于tom组,就是other ---》 r [root@dns lily]# getfacl tomfile # file: tomfile # owner: tom # group: tom user::rw- <---拥有者访问文件的时候所具有的权限 user:upl:r-x <----针对upl访问时候的权限 group::rw- <--- bean属于 tom,所以bean用户访问这个文件的时候就具有 rw mask::rwx other::r-- setfacl -m user::rw,user:upl:rx,group::rwx,other::r 背景2: tom 用户属于 tom组 ---》 rw upl 用户属于 tom组 ----> r bean 用户属于 tom组 ----> rw mary 用户不属于tom组,就是other ---》r # file: tomfile # owner: tom # group: tom user::rw- <---拥有者访问文件的时候所具有的权限,直接看这里,这里写什么权限,拥有者就具有什么权限 user:upl:r-- <----针对upl访问时候的权限,与mask去交集,--> r group::rw- <--- bean属于 tom,所以bean用户访问这个文件的时候就具有 rw mask::rwx other::r-- setfacl -m user::rw,user:upl:r,group::rw,other::r ./tomfile 背景3: tom 用户属于 tom组 ---》rw upl 用户属于 tom组 ----> r bean 用户属于 tom组 ----> r mary 用户不属于tom组,就是other ---》rw # file: tomfile # owner: tom # group: tom user::rw- <---拥有者访问文件的时候所具有的权限,直接看这里,这里写什么权限,拥有者就具有什么权限 user:upl:r-- <----针对upl访问时候的权限,与mask去交集,--> r group::rw- <--- bean属于 tom,与mask取交集 r mask::r-x other::rw- <---也是直接判断,不考虑mask setfacl -m user::rw,user:upl:r,group::rw,other::rw,mask::rx ./tomfile (责任编辑:IT) |