chmod: changing permissions of ‘xxx’: Operation not permitted,root都没有权限的时候,使用这个试试

1 root用户也干不了的事情 授权某文件时,提示 chmod: changing permissions of ‘log’: Operation not permitted错误. 可能的原因: 此文件正在被锁定,不允许操作或更改.chmod命令底层的实现是chattr命令,使用此命令后,可以使此文件被锁定,无法进行添加/删除/写入等操作,就算root用户也无法例外,熟悉chattr及lsattr命令即可解决此问题. `[root@web01 ~]# chattr +i /etc/passwd #<==防止系统关键文件被篡改,就算是root也不例外 [root@web01 ~]# lsattr /etc/passwd #<==查看此文件带i,就是被锁定了 ----i----------- /etc/passwd [root@web01 ~]# chattr -i /etc/passwd #<==解锁 [root@web01 ~]# lsattr /etc/passwd #<==正常文件,root可以做任何操作 ---------------- /etc/passwd [root@web01 ~]# chattr +a /etc/passwd #<==仅仅允许此文件进行追加操作,通常用于日志,如log [root@web01 ~]# lsattr /etc/passwd -----a---------- /etc/passwd [root@web01 ~]# chattr -a /etc/passwd [root@web01 ~]# lsattr /etc/passwd ---------------- /etc/passwd ` 2 小结 chattr , lsattr 在实际应用中对于服务器安全有重要的意义. 

2020年8月27日 · 1 分钟 · 天边的星星

shell 脚本Demo

!/bin/bash Author: zhangdongling Copyright(C) Script follows here: echo “What is your name?” read PERSON echo “Hello ,$PERSON” variableName=”zhangdl” name=dong echo “variableName,$variableName” echo “name,$name” echo “1.”$0 #当前脚本的文件名 echo “2.”$1 #传递给脚本或函数的参数 echo “3.”$# #传递给脚本或函数的参数个数。 echo “4.”$* #传递给脚本或函数的所有参数。 echo “5.”@ #传递给脚本或函数的所有参数。被双引号(” “)包含时,与* 稍有不同,下面将会讲到。 echo “6.”$? #上个命令的退出状态,或函数的返回值。大部分命令执行成功会返回0,失败返回1 echo “8.”$@”” echo “9.”$*”” echo -e “pid is $$ \n” echo “pid is $$ \n” DATE=date echo -e “DATE is $DATE \n” USERS=who | wc -l echo -e “Logged in user are $USERS \n” UP=date;uptime echo -e “Uptime is $UP \n” ...

2019年7月24日 · 3 分钟 · 天边的星星

linux shell中 if else以及大于、小于、等于逻辑表达式介绍

比如比较字符串、判断文件是否存在及是否可读等,通常用”[]”来表示条件测试。 注意:这里的空格很重要。要确保方括号的空格。笔者就曾因为空格缺少或位置不对,而浪费好多宝贵的时间。 if ….; then …. elif ….; then …. else …. fi [ -f “somefile” ] :判断是否是一个文件 [ -x “/bin/ls” ] :判断/bin/ls是否存在并有可执行权限 [ -n “var” ] :判断var变量是否有值 [ “a” = “b” ] :判断a和b是否相等 -r file 用户可读为真 -w file 用户可写为真 -x file 用户可执行为真 -f file 文件为正规文件为真 -d file 文件为目录为真 -c file 文件为字符特殊文件为真 -b file 文件为块特殊文件为真 -s file 文件大小非0时为真 -t file 当文件描述符(默认为1)指定的设备为终端时为真 ** 字符串判断** str1 = str2 当两个串有相同内容、长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当串的长度为0时为真(空串) str1 当串str1为非空时为真 ...

2016年9月5日 · 7 分钟 · 天边的星星