linux笔记six

来源:互联网 发布:淘宝开全球购的店铺 编辑:程序博客网 时间:2024/06/01 22:38
#####################
### 控制对文件的访问 ###
#####################

### 一、acl ###

1.文件权限的设置

ACL:
具有ACL的文件拥有一个“mask”(掩码),这个掩码既能限制又有该文件的组的最大权限,又能够限制ACL中的补充用户和组所拥有的最大权限

[root@foundation15 Desktop]# getfacl test
# file: test    ##文件名称
# owner: root    ##文件所有人
# group: root    ##文件所有组
user::rw-    ##用户权限
user:kiosk:rwx    ##特殊指派用户及权限
group::r--    ##组权限
mask::rwx    ##可指派最大权限
other::r--    ##其他人权限

setfacl 用于设置或者修改文件的acl
例:
setfacl -m o::- filename        ##其他所有人的权限为空


setfacl -m u:username:rwx filename      ##针对用户对文件有rwx权限


setfacl -m g:groupname:rwx filename    ##针对用户组对文件有rwx权限


setfacl -x u:username filename        ##取消用户对文件特别拥有的权限
setfacl -b filename            ##取消所有用户和组对文件特别拥有的权限


getfacl filename            ##查看文件具体权限
setfacl -m m:rwx filename        ##mask为rwx
setfacl -m d:u:username:rwx directory    ##username只对目录里面的新增的文件有该命令设置的权限

##!!注意:用setfacl修改相关权限后会改变文件的mask,再用chmod g+rwx filename 命令会也改变mask

### 二、设备权限列表加载 ###

fdisk /dec/vdb        ##创建分区
mkfs.ext4 /dev/vdb1    ##格式化分区
tune2fs -l /dev/vdb1    ##查看分区信息
## Default mount options:    user_xattr acl
tune2fs -o ^acl /dev/vdb1    ##关闭acl
## Default mount options:    user_xattr
mount /dev/vdb1 /mnt    ##将/dev/vdb1挂载在/mnt下

df -h  ##查看挂载情况



tune2fs -o acl /dev/vdb1    ##开启acl
tune2fs -l /dev/vdb1        ##查看信息
## Default mount options:    user_xattr acl

[root@desktop15 ~]# mkfs.xfs /dev/vdb1 -f    ##格式化,强制覆盖这个格式


[root@desktop15 ~]# mount /dev/vdb1 /mnt    ##挂载
[root@desktop15 ~]# df -h        ##查看设备挂载情况
/dev/vdb1        97M  5.2M   92M   6% /mnt

[root@desktop15 ~]# vim /etc/fstab
##    /dev/vdb1       /mnt    xfs     defaults        0 0
##    设备        挂载点    格式    默认        不检测 不备份
[root@desktop15 ~]# umount /mnt/    ##取消挂载
[root@desktop15 ~]# df
##结果是没有/dev/vdb1的挂载情况

####新建分区###
[root@desktop15 ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m fo r help): n    
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p):
Using default response p
Partition number (2-4, default 2):
First sector (206848-20971519, default 206848):
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-20971519, default 20971519): +1G
Partition 2 of type Linux and of size 1 GiB is set

Command (m fo r help): t
Partition number (1,2, default 2):
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m fo r help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@desktop15 ~]# partprobe
[root@desktop15 ~]# fdisk -l
******省略一部分*******
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux
/dev/vdb2          206848     2303999     1048576   82  Linux swap / Solaris
[root@desktop15 ~]# mkswap /dev/vdb2    ##在/dev/vdb2建立交换分区
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=297ad5ab-b40c-46a7-9c36-7c3455f17b82
[root@desktop15 ~]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
/dev/vdb1: UUID="0fe4dead-7c36-4deb-8bae-7c3eb1390a86" TYPE="xfs"
/dev/vdb2: UUID="297ad5ab-b40c-46a7-9c36-7c3455f17b82" TYPE="swap"
[root@desktop15 ~]# swapon -a /dev/vdb2    ##使用这个交换分区
[root@desktop15 ~]# swapon -s        ##查看当前的swap空间    
Filename                Type        Size    Used    Priority
/dev/vdb2                                  partition    1048572    0    -1
[root@desktop15 ~]# fdisk /dev/vdb    ##如上再建立vdb3,并同样执行上述操作
[root@desktop15 ~]# partprobe
[root@desktop15 ~]# mkswap /dev/vdb3    
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=59ad5f22-51cb-498d-b87c-210cea404ad4
[root@desktop15 ~]# swapon -a /dev/vdb3    

####修改设备优先级####
[root@desktop15 ~]# swapon -s         
Filename                Type        Size    Used    Priority
/dev/vdb2                                  partition    1048572    0    -1
/dev/vdb3                                  partition    1048572    0    -2
[root@desktop15 ~]# swapoff /dev/vdb3    ##关闭
[root@desktop15 ~]# swapon -a -p 0 /dev/vdb3    ##修改优先级为0
[root@desktop15 ~]# swapon -s    ##/dev/vdb3优先级为0
Filename                Type        Size    Used    Priority
/dev/vdb2                                  partition    1048572    0    -1
/dev/vdb3                                  partition    1048572    0    0

####删除设备####
[root@desktop15 ~]# fuser -vm /dev/vdb3    ##查看设备使用情况
                     USER        PID ACCESS COMMAND
/dev/vdb3:           root     kernel swap  /dev/vdb3
[root@desktop15 ~]# swapoff /dev/vdb3
[root@desktop15 ~]# fuser -vm /dev/vdb3
[root@desktop15 ~]# fdisk /dev/vdb    ##删除/dev/vdb3
*****省略*****
[root@desktop15 ~]# partprobe
[root@desktop15 ~]# cat /proc/partitions
major minor  #blocks  name

 253        0   10485760 vda
 253        1   10484142 vda1
 253        2        593 vda2
 253       16   10485760 vdb
 253       17     102400 vdb1
 253       18    1048576 vdb2

######################
###系统延时及定时机制####
######################

###1.at命令 ###
* at命令可以指定某一任务在将来的特定时间运行
* at命令必须指定任务的运行时间
* 在键入at命令后,按Enter并继续键入作业中包含的其他命令。结束按 Ctrl+d

例:
at now +2min     ##这个命令下的任务在两分钟后执行
at -l        ##查看延时执行的任务
atrm num(jobid)    ##删除延时执行的任务



##黑白名单
/etc/at.deny    ##用户黑名单(不能用延时命令)
/etc/at.allow    ##用户白名单 (只允许名单里的人可以用延时命令)。
## !!注意:白名单最初是没有的,只有黑名单,一旦白名单 /etc/at.allow 被建立,黑名单:失效,系统不读黑名单,白名单以外的人都为黑名单

###2.管理定期任务####
crontab  -l     ##列出文件,可以查看在该文件下写的任务
crontab  -r    ##删除文件,删除所有定时任务
crontab  -e     ##编辑文件(默认vi,存在/var/spool/cron/)
/var/spool/cron/filename    ##在该文件下创建定时任务,和crontab -e 一样的
vim /etc/cron.d/filename    ##也可以在该文件下创建定时任务
* * * * * common        ##每分每时每天每月每周 执行命令
##第一列*:表示分钟1-59
##第二列*:表示小时1-23(0表示0点)
##第三列*:表示日期1-31
##第四列*:表示月份1-12
##第五列*:表示星期0-7(0 7表示星期天)
##第六列:表示要运行的命令

 /etc/cron.deny     ##用户黑名单
 /etc/cron.allow ##用户白名单,与at的一样

##例:
0 * * * * date    ##每月每天每小时的第0分钟执行一次date命令
*/10 6-12 * 10 * date     ##在10月内,每天早上6点到12点中,每隔10分钟执行一次date命令

###系统临时文件的管理###
 systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
 systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*


vim  /usr/lib/tmpfiles.d/*.conf

格式:

type  filename   perm  user  group  time

d      /mnt/linux  1777   root    root    10s

对于/mnt/linux目录里的文件,在执行systemd-tmpfiles --create /usr/lib/tmpfiles.d/*.conf后,如果在/mnt/linxu目录下新建了文件,执行systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*.conf命令后,就会删除/mnt/linux目录下存在超过10秒的文件,10秒内的保留。
0 0
原创粉丝点击