linux基础操作-----五

查看文件的特殊属性
   lsattr /etc/shadow

最基本的Xwindous
xorg-x11-drv-vmware.i386
xorg-x11-utils.i386
xorg-x11-twm.i386
xterm
xorg-x11-xinit
xorg-x11-xfs-utils

第一:磁盘配额
         常用于:web,ftp,网络硬盘,邮箱等
           
          步骤:
             1 只能针对分区生效,所以,必须对分区进行配置
                      新建一个分区: 分区必须是ext2,ext3,ext4分区格式

            2 使用支持磁盘配额的参数进行挂载
 
                  mount -o usrquota,grpquota /dev/sda13 /mnt
                       用户磁盘配额,组用户磁盘配额
             要永久生效,要修改/etc/fstab文件

            3 对支持磁盘配额的分区进行扫描,并生成配置文件
                 quotacheck -cavug
                             -c 忽略已有的配置文件
                             -a 重新扫描支持磁盘配额分区,并且生成配置文件
                             -u 让分区生成用户磁盘配额文件
                             -g 组配置文件
        -v 显示命令执行过程

           4、针对实际情况,对用户的使用配额进行配置

   edquota -u tom

Disk quotas for user tom (uid 551):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda13                        0       10000      12000          0      5        6


       5、启用磁盘配置
   quotaon  /dev/sda13

       6、检测磁盘配额使用情况
   repquota -a

使用tom测试
dd if=/dev/zero of=./tom_file_10M  bs=1M count=10

再运行

repquota -a


手动实验:思路:

   第一步:建立一个新的分区           #fdisk /dev/sda
                                      m
          n
          5
          enter
          +10240M
          w
          #mkfs.ext3 /dev/sda5
   第二步:使新建立的分区支持磁盘配额
   #mkdir /bbb
   #chmod 777 /bbb
   #vim /etc/fstab
   /dev/sda5    /bbb     ext3   default,usrquota,grpquota 0 0
   手动挂载/dev/sda5使其支持磁盘配额
   #mount -o usrquota,grpquota /dev/sda5 /bbb

   第三步:对支持磁盘配额的分区进行进行检测和扫描,并且生成配置文件  
   #quotacheck -cavug
   
   第四步:针对用户,进行磁盘配额的配置
   #repquota -u qianxin

   第五步:启动磁盘配额
   #quotaon /dev/sda5

   第六步:进入其他用户并进行测试    
   #su - qianxin
   $cd /bbb
   $dd if=/dev/zero of=/bbb/file1 bs=1M count=10

   第七步:使用root用户进行查看磁盘配额使用情况
   #repquota  -a            

例子2:针对用户组的磁盘配置怎么设定,让nokia和tom都受到磁盘配额的限制

背景:
uid=550(nokia) gid=607(tom) groups=607(tom)
uid=551(tom) gid=607(tom) groups=607(tom) 

总结:必须是gid相同的用户才受到组磁盘配额的限制
1、edquota -g tom   <---tom 组

其他命令:
 edquota -t   <---修改默认的倒数时间
 edquota -T -u <---修改指定用户的默认倒数时间
 edquota -p tom nokia  <---将tom的磁盘配额配置复制给nokia

========================================

第二:命令学习

       #ps  只显示当前终端运行的程序
         进程的5种状态
  S -->  可中断睡眠 ,由于等待资源等原因,让进程处于睡眠状态,一般                       可以接受信号唤醒 
  D -->  不可中断睡眠 , 一般只能是自己特定某种事件发生才能唤醒进程
  R -->  正在运行,正在取得系统资源的进程
  Z -->  僵尸进程 --》 父进程死掉,子进程还在,子进程就变成僵尸                        进程,一般只能重启才能释放资源
  T -->  停止状态

ps aux
ps -ef

kill <--仅仅是发送信号的工具
 kill -9   强制结束进程
 kill -15  友善的结束进程
 kill -STOP  暂停一个程序

top <---交互的进程管理
 shift + m
 shift + p
 shift + >  | <
load average: 1.57, 1.33, 1.17  <--- 一般第三列如果超过5的话,就说明cpu资源不够

top -n 3 -b > /tmp/test/top.txt

进程优先级 -20  19 

 nice -# (-20 ~ 19)
  nice --20     rpm --rebuilddb
  nice -19  command    <---优先级 19
 renice 19  #pid <---优先级 19

============================================

文件系统的访问控制列表   
  
[root@dns /]# id tom
uid=551(tom) gid=607(tom) groups=607(tom)
[root@dns /]# id bean
uid=552(bean) gid=552(bean) groups=552(bean)
[root@dns /]# id mary
uid=553(mary) gid=553(mary) groups=553(mary)
[root@dns /]# id nokia
uid=550(nokia) gid=551(nokia) groups=551(nokia)


情况一:
tom 属于tom
bean 属于bean
mary 属于mary
nokia 属于nokia

/tmp/test/file1.txt  --> tom , bean (rw)  ;mary , nokia (r)
  file1.txt  root:team1  764  

 tom , bean  --> team1
 mary , nokia --> team2

------------------------------------
[root@dns test]# ll file1.txt
-rw-r--r-- 1 root root 0 03-22 15:24 file1.txt
[root@dns test]# getfacl  file1.txt
# file: file1.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

情况二:
tom 属于tom
bean 属于bean
mary 属于mary
nokia 属于nokia

/tmp/test/file1.txt  --> tom (rw)  ;mary  (r);bean 没权限; nokia (r-x)
  file1.txt  root:root  644

[root@dns test]# getfacl  file1.txt
# file: file1.txt
# owner: root
# group: root
user::rw-
user:tom:rw-
user:mary:r--
user:bean:---
user:nokia:r-x
group::r--
mask::rwx
other::r--

 setfacl -m user::rw,user:tom:rw,user:mary:r,user:bean:---,user:nokia:r-x file1.txt

情况三:
tom 属于tom  r-x
bean 属于tom  r
mary 属于mary ---
nokia 属于tom 
 让tom组只有 rx
roy gid=roy ,Gid=tom

[root@dns test]# getfacl  file1.sh
# file: file1.txt
# owner: root
# group: root
user::rw-  --> rw 拥有者的权限
user:nokia:r-x  --> 与mask取交集后 r-x
user:tom:r-x  --> 与mask取交集后 r-x
user:bean:r--  
user:mary:---  
group::r--
group:tom:r-x  --> 与mask取交集 r-x
mask::r-x
other::r--

交集 
 setfacl -m user::rw,user:tom:rx,user:mary:---,group:tom:rx,user:bean:r file1.sh

情况四:
tom 属于tom  r--
bean 属于tom  r-x
mary 属于mary ---
nokia gid=nokia  , Gid=mary  
roy gid=roy ,Gid=tom 
让tom组具有 r--权限,让mary组具有r--

[root@dns test]# getfacl  file2.sh
# file: file2.sh
# owner: root
# group: root
user::rw-
user:tom:r--
user:bean:r-x
user:mary:---
group::r-x
group:mary:r--
group:tom:r--
mask::r-x
other::r--
 
 setfacl -m user:tom:r,user:bean:rx,user:mary:---,group:mary:r,group:tom:r file1.sh

情况五:
tom 属于tom  r--
bean 属于tom  r-x
mary 属于mary ---
nokia gid=nokia  , Gid=mary  
roy gid=roy ,Gid=tom 
让tom组具有 r--权限,让mary组具有r--
[root@dns test]# getfacl  file2.sh
# file: file2.sh
# owner: root
# group: root
user::rw- 不受mask影响
user:tom:r-- --> 与mask取交集r--
user:bean:r-x ---> 与mask取交集r--
user:mary:--- -->  与mask取交集---
group::r-x ****与mask取交集***** r--
group:mary:r--  ---> 与mask取交集r--
group:tom:r-- ---> 与mask取交集r--
mask::r--
other::r--  不受mask影响
 
 setfacl -m mask::r-- file2.sh

情况六:
文件file3.sh  root:mary  644
#!/bin/bash
echo "Can you see me?"

tom 属于tom  -w-
bean 属于tom  rw-
mary 属于mary r-x
nokia gid=nokia  , Gid=mary  
roy gid=roy ,Gid=tom 
让tom组具有 r-x权限,让mary组具有rw-

文件权限的判断过程:
 1、判断是否是文件拥有者
 2、判断是否有具体针对该用户的acl控制
 3、判断是否有针对该用户所属组的acl控制
 4、按照其他人的权限去授予访问

例子:
 新建一个分区,挂载到/ftp,实现以下功能:
  1、用户tom只能在/ftp下创建最多20M的文件
  2、用户组tom只能在/ftp下创建最多35M的文件?那么bean最多能在/ftp下创建多大的文件?用户roy是否受到限制?
  3、该/ftp目录下的所有文件都只有文件的拥有者才能删除
  4、需要实现在/ftp目录下创建的所有子文件(暂时不考虑子目录)都自动具有这样的访问规则:
tom 属于tom  -w-
bean 属于tom  rw- 
mary 属于mary r-x
roy gid=roy ,Gid=tom 
让tom组具有 r-x权限
  提示:请man mount (setfacl -d -m参数,或者搜索网络“setfacl 默认规则” )
  
  5、为了实现1-4的功能,需要使用什么技术?挂载的时候需要什么额外参数?(提示: man mount)

  6、删除某个acl的条目,命令应该怎么写?例如某文件的acl输出有user:nokia:rw-,现在我想取消这个条目限制,该怎么敲打命令?


     思路:要求新建一个分区,挂载到/ftp
          发现目下下没有ftp目录,于是新建一个/ftp,然后开始分区,并修改配置文件将新建的分区挂载都/ftp目录
           #mkdir /ftp
    #fdisk /dev/sda
    n
    5
    w
    #partprobe
    #mkfs.ext3 /dev/sda5
    #e2label /dev/sda5 /ftp
    #vim /etc/fstab
    LABEL=/ftp      /ftp   ext3   default  0  0(永久挂载)
    #mount /dev/sda5 /ftp(临时挂载)
第一题:要求tom用户只能在ftp下创建最多20M文件
        发现要通过使用磁盘配额能够实现目的,于是修改挂载/ftp的的配置文件,让其支持磁盘配额
   #vim /etc/fstab
   LABEL=/ftp    /ftp   ext3   default,usrquota,grpquota 0  0(永久挂载)
   #mount -o usrquota,grpquota /dev/sda5 /ftp(临时挂载)
 然后进行对支持磁盘配额的分区进行检测并扫描,生成配置文件
   #quotacheck -cavug
 然后对指定的用户作磁盘配额,并修改ftp权限为777
   #useradd tom
   #passwd tom
   #chmod 777 /ftp
   #edquota -u tom
Disk quotas for user tom (uid 500):
 Filesystem                   blocks       soft       hard     inodes     soft     hard
 /dev/sda5                         0      20000      20000          0        0        0
          然后进入tom用户进行测试
   #su - tom
   $dd if=/dev/zero of=/ftp/tom_file1_25M bs=1M count=25

第二题:用户组tom只能在/ftp下创建最多35M的文件,那么bean最多能在/ftp下创建35M的文件,因为bean是只属于tom用户组的,用户roy是不受到限制的,因为roy用户他同时还属于roy组
         #useradd bean
  #passwd bean
         #useradd mary
  #passwd mary
  #useradd roy
  #passwd roy
  #usermod -g tom bean
  #gpasswd -a roy tom

第三题:该/ftp目录下的所有文件都只有文件的拥有者才能删除,只要对ftp增加一个粘贴位
        #chmod 1777 /ftp

第四题:需要实现在/ftp目录下创建的所有子文件的访问规则:
        #setfacl -d user:tom:-w-,user:bean:rw-,user:mary:r-x,group:tom:r-x /ftp
        将会发现有提示说/ftp不支持这种格式,所以要让/dev/sda5支持。重新挂载
 #mount -o usrquota,grpquota,acl /dev/sda5 /ftp
 或者修改/etc/fstab
 LABEL=/ftp  /ftp    ext3    default,usrquota,grpquota,acl 0 0
 然后再次配置他就成功了

第五题:磁盘配额和acl,参数参照上面命令或配置文件

第六题:setfacl -x  user:nokia 某文件
 

你可能感兴趣的:(linux,基础)