Linux——进程的优先级、ACL

一、系统性能调优

 Redhat7和centos7默认安装并启动了tuned服务

  实验

[root@user ~]# tuned-adm list                    //查看所有的调优方案

[root@user ~]# tuned-adm recommend         // 查看推荐的调优方案

virtual-guest

适用于作为虚拟机客户机运行的设备,基于throughput-performance策略

在throughput-performance策略基础上,修改了vm.dirty_ratio

vm.dirty_ratio 是 Linux 操作系统中与磁盘缓存相关的内核参数。这个参数指定了当文件系统缓存中的脏页(Dirty Pages)数量达到系统总内存(RAM)的某个百分比时,系统会开始同步地将这些脏页写回到磁盘中.

vm.dirty_ratio 参数的值表示了一个阈值

[root@user ~]# tuned-adm profile balanced //调整调优方案为指定的方案

[root@user ~]# tuned-adm active // 查看目前启用的调优方案

Current active profile: balanced

[root@user ~]#

[root@user ~]# tuned-adm auto_profile // 自动调整调优方案

[root@user ~]# tuned-adm active   // 查看目前启用的调优方案

二、进程优先级调整

计算进程优先级的公式:PRI (优先级) = PRI(初始优先级 80|20) + NICE(相对优先级 -20~19)

初识优先级的值不是不会发生改变的,以相对优先级作为调整优先级的方式。

优先级的值越高,优先级越低

# top查看优先级

nice // 创建进程的时候,为nice赋值

nice -n [-20-19] 命令

renice //重新设定NICE的值

renice -n  [-20-19]  进程PID

普通权限回顾

XXXX 用户 对于文件  具备xxx 权限

属主 属组 其他人

读  写  执行

三、ACL

(Access Control List/访问控制列表)

  • getfacl:获取某个文件/目录的ACL设置选项
  • setfacl:设置某个文件/目录的ACL规范

getfacl  [选项]  文件 ...

  -a,  --access           仅显示文件访问控制列表
  -d, --default           仅显示默认的访问控制列表
  -c, --omit-header       不显示注释表头
  -e, --all-effective     显示所有的有效权限
  -E, --no-effective      显示无效权限
  -s, --skip-base         跳过只有基条目(base entries)的文件
  -R, --recursive         递归显示子目录
  -L, --logical           逻辑遍历(跟随符号链接)
  -P, --physical          物理遍历(不跟随符号链接)
  -t, --tabular           使用制表符分隔的输出格式
  -n, --numeric           显示数字的用户/组标识
  -p, --absolute-names    不去除路径前的 '/' 符号
  -v, --version           显示版本并退出
  -h, --help              显示本帮助信息

setfacl [参数] 文件或者目录名
-b清空扩展访问控制列表策略
-d应用到默认访问控制列表
-k移除默认访问控制列表
-L跟踪符号链接文件
-m更改文件访问控制列表策略,不可与-x合用
-P找到符号链接对应的文件
-R递归处理所有子文件
-x根据文件中访问控制列表移除指定策略
--help显示帮助信息
--version

显示版本信息

最简单的【u:账号:权限】设置

设置规范为 【u/g/m:使用者账号/用户组名:rwx】

u:针对用户

g:针对用户组

m:针对有效权限

设置acl

 实验

[root@user ~]# useradd user1
[root@user ~]# ll /test/aaa
-r--r--r--. 1 student root 18 May  8 16:14 /test/aaa
[root@user ~]# setfacl -m u:user1:rw /test/aaa		//设置ACL
[root@user ~]# ll /test/aaa
-r--rw-r--+ 1 student root 18 May  8 16:14 /test/aaa
[root@user ~]# getfacl /test/aaa			//查看设置的ACL
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:user1:rw-
group::r--
mask::rw-
other::r--

[root@user ~]# setfacl -m u:1005:6 /test/aaa			//通过数字而不是字母表示权限
[root@user ~]# getfacl /test/aaa
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:user1:rw-
user:1005:rw-
user:user2:r-x
group::r--
mask::rwx
other::r--

[root@user ~]# setfacl -m u:student:1 /test/aaa
[root@user ~]# getfacl /test/aaa
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:student:--x
user:user1:rw-
user:1005:rw-
user:user2:r-x
group::r--
mask::rwx
other::r--


 

  1. # file: test/aaa - 这是 ACL 应用到的文件或目录的路径。注意这里并没有前导的斜杠 /,这通常是因为 getfacl 命令在处理绝对路径时会自动去除它。
  2. # owner: root - 文件的属主是 root
  3. # group: root - 文件的属组也是 root
  4. user::rw- - 文件所有者(在这个例子中是 root)有读(r)和写(w)权限,但没有执行(x)权限。
  5. user:user1:rw- - 用户 user1 也有读和写权限。
  6. group::r-- - 文件所属的组(在这个例子中是 root 组)只有读权限。
  7. mask::rw- - mask 权限决定了除了文件所有者和其他用户之外的用户和组的最大权限。在这个例子中,mask 设置为 rw-,这意味着即使用户或组在 ACL 中被赋予了更多的权限,他们也只会被允许读和写。
  8. other::r-- - 其他用户只有读权限。

 设置掩码

m:针对有效权限

 有效权限(mask)的意思为规范最大允许范围,所以当mask的权限只有r时,redhat用户权限最大也只有r,x权限并不生效

[root@user ~]# ll /test/aaa
-r--rwxrwx+ 1 student root 18 May  8 16:14 /test/aaa
[root@user ~]# setfacl -m m::rw /test/aaa        //设置掩码
[root@user ~]# getfacl /test/aaa
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:student:--x                #effective:---
user:user1:rw-
user:1005:rw-
user:user2:r-x                  #effective:r--
group::r--
mask::rw-
other::rwx

设置递归

[root@user ~]#

[root@user ~]# touch /test/one/abc

[root@user ~]# ll /test/one/

total 0

-rw-r--r--. 1 root    root    0 May  8 17:03 abc

-rw-rw-r--. 1 student student 0 May  8 16:20 bbb

drwxr-xr-x. 2 student root    6 May  8 16:15 yi

[root@user ~]# setfacl -R  -m u:user1:rX /test/one/ //递归到目前目录下所有的文件

[root@user ~]# getfacl /test/one/

getfacl: Removing leading '/' from absolute path names

# file: test/one/

# owner: student

# group: root

user::rwx

user:user1:r-x

group::r-x

mask::r-x

other::r-x

[root@user ~]# getfacl /test/one/abc

getfacl: Removing leading '/' from absolute path names

# file: test/one/abc

# owner: root

# group: root

user::rw-

user:user1:r--

group::r--

mask::r--

other::r--

[root@user ~]# getfacl /test/one/yi

getfacl: Removing leading '/' from absolute path names

# file: test/one/yi

# owner: student

# group: root

user::rwx

user:user1:r-x

group::r-x

mask::r-x

other::r-x

[root@user ~]# getfacl /test/aaa

getfacl: Removing leading '/' from absolute path names

# file: test/aaa

# owner: student

# group: root

user::r--

user:student:--x                #effective:---

user:user1:rw-

user:1005:rw-

user:user2:r-x                  #effective:r--

group::r--

mask::rw-

other::rwx

[root@user ~]# setfacl -x u:student /test/aaa //移除ACL条目

[root@user ~]# getfacl /test/aaa

getfacl: Removing leading '/' from absolute path names

# file: test/aaa

# owner: student

# group: root

user::r--

user:user1:rw-

user:1005:rw-

user:user2:r-x

group::r--

mask::rwx

other::rwx

设置继承

[root@user ~]# setfacl -m d:u:1005:rwX /test/one/ //设置默认,可以产生继承效果

                                                                                //即目录下新建文件和子目录 都有

                                                                                //这个默认的ACL

[root@user ~]# getfacl /test/one/

getfacl: Removing leading '/' from absolute path names

# file: test/one/

# owner: student

# group: root

user::rwx

user:user1:r-x

group::r-x

mask::r-x

other::r-x

default:user::rwx

default:user:1005:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

[root@user ~]# getfacl /test/one/bbb //已存在文件不受继承效果影响

getfacl: Removing leading '/' from absolute path names

# file: test/one/bbb

# owner: student

# group: student

user::rw-

user:user1:r--

group::rw-

mask::rw-

other::r--

[root@user ~]# touch /test/one/ccc

[root@user ~]# getfacl /test/one/ccc //新建文件 收继承影响

getfacl: Removing leading '/' from absolute path names

# file: test/one/ccc

# owner: root

# group: root

user::rw-

user:1005:rwx                   #effective:rw-

group::r-x                      #effective:r--

mask::rw-

other::r--

[root@user ~]# mkdir /test/one/111

[root@user ~]# getfacl /test/one/111 //新建目录 收继承影响

getfacl: Removing leading '/' from absolute path names

# file: test/one/111

# owner: root

# group: root

user::rwx

user:1005:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:user:1005:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

[root@user ~]# touch /test/one/111/222

[root@user ~]# getfacl /test/one/111/222

getfacl: Removing leading '/' from absolute path names

# file: test/one/111/222

# owner: root

# group: root

user::rw-

user:1005:rwx                   #effective:rw-

group::r-x                      #effective:r--

mask::rw-

other::r--

[root@user ~]# setfacl -x d:u:1005 /test/one/111/ //移除默认ACL

[root@user ~]# getfacl /test/one/111/

getfacl: Removing leading '/' from absolute path names

# file: test/one/111/

# owner: root

# group: root

user::rwx

user:1005:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:group::r-x

default:mask::r-x

default:other::r-x

 移除ACL

[root@user ~]# setfacl -b /test/aaa //移除所有的ACL

[root@user ~]# getfacl /test/aaa

getfacl: Removing leading '/' from absolute path names

# file: test/aaa

# owner: student

# group: root

user::r--

group::r--

other::rwx

[root@user ~]# ll /test/aaa //还原到没有ACL的状态了

-r--r--rwx. 1 student root 18 May  8 16:14 /test/aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值