命令格式,    命令格式

—··[转]

—··[转]

linux下执行sh文件报错:oswatcher_restart.sh: line 13: ./startOSW.sh:
Permission denied解决

hmod命令:改变文件权限。
 

hmod命令:改变文件权限。
 

 

   
    一:符号方式:
    命令格式:chmod [who] operator [permission] filename

   
    一:符号形式:
    命令格式:chmod [who] operator [permission] filename

1 查看执行sh文件的内容

    who包括的取舍及其含义:
        u 文件属主权限。
        g 属组用户权限。
        o 其余用户权限。
        a 所有用户(文件属主、属组用户及其余用户)。

    who包罗的选料及其含义:
        u 文件属主权限。
        g 属组用户权限。
        o 其余用户权限。
        a 所有用户(文件属主、属组用户及其余用户)。

[[email protected]
dbscripts]# more oswatcher_restart.sh 

    operator包罗的精选及其含义:
        + 扩充权限。
        – 取消权限。
        = 设定权限。
   
    permission蕴涵的挑选及其含义:
        r 读权限。
        w 写权限。
        x 执行权限。
        s 文件属主和组set-ID。
        t 粘性位*。
        l 给文件加锁,使其他用户不可能访问。
        u,g,o 针对文件属主、属组用户及其他用户的操作。
   
    filename为想要操作的文件的文书名。

    operator包涵的选料及其含义:
        + 扩大权限。
        – 废除权限。
        = 设定权限。
   
    permission包罗的挑三拣四及其含义:
        r 读权限。
        w 写权限。
        x 执行权限。
        s 文件属主和组set-ID。
        t 粘性位*。
        l 给文件加锁,使其他用户无法访问。
        u,g,o 针对文件属主、属组用户及其他用户的操作。
   
    filename为想要操作的公文的文件名。

#!/usr/bin/ksh

*在列文件或目录时,有时会赶上“
t”位。“t”代表了粘性位。固然在一个目录上冒出“t”位,那就象征该目录中的文件只有其属主才可以去除,尽管某个属组用户所有和属主同等的权柄。不过有的系统在这一条条框框上并不越发严俊。固然在文书列表时观察“
t”,那么那就代表该脚本或程序在实施时会被放在沟通区(虚存)。

*在列文件或目录时,有时会碰着“
t”位。“t”代表了粘性位。假如在一个目录上边世“t”位,那就象征该目录中的文件唯有其属主才可以去除,纵然某个属组用户所有和属主同等的权杖。不过有的系统在这一规则上并不非常残酷。倘使在文书列表时看到“
t”,那么这就代表该脚本或程序在执行时会被放在交流区(虚存)。

#export oswdir=`df |grep mysqllog|awk {‘print $6}’`

有关“t”权限的更是分解
[quote]原帖由 “风流涕淌” 公布:
1,t
权限是粘着位,例:TMP目录下,任何人都有读写执行权限,可是否任何人对中间的可写权限的文本就可以去除呢,当然不是了,那个就是粘着位的做用,只有所有者才有权删除自已的文件,当然,ROOT除外
2,关于文件安全的另一种权限,i权限 也就是不可修改权限  例:chattr u+i aaa
则aaa文件就不得修改,无论任何人,如若剔除就用u-i就好了
a权限 也就是只伸张权限,
对于日记系统很好用,那一个权力让对象文件只可以增添,无法去除,而且不可以透过编辑器追加。方法和i权限一样加
只要想要看某个文件是或不是有其一权力,用lsattr filename就行了

关于“t”权限的愈发分解
[quote]原帖由 “风骚涕淌” 发布:
1,t
权限是粘着位,例:TMP目录下,任何人都有读写执行权限,可是或不是任何人对中间的可写权限的文本就可以去除呢,当然不是了,这些就是粘着位的做用,唯有所有者才有权删除自已的文件,当然,ROOT除外
2,关于文件安全的另一种权限,i权限 也就是不行修改权限  例:chattr u+i aaa
则aaa文件就不行修改,无论任何人,如若剔除就用u-i就好了
a权限 也就是只增添权限,
对于日记系统很好用,那个权力让对象文件只好伸张,不可能去除,而且无法透过编辑器追加。方法和i权限一样加
一旦想要看某个文件是否有那个权力,用lsattr filename就行了

export oswdir=/mysqllog

    改变权限的例证(temp为一文本):
        chmod a-x temp //rw- rw- rw- 收回所有用户的履行权限
        chmod og-w temp //rw- r– r- – 收回属组用户和其余用户的写权限
        chmod g+w temp //rw- rw- r- – 赋予属组用户写权限
        chmod u+x temp //rwx rw- r- – 赋予文件属主执行权限
        chmod go+x temp //rwx rwx r- x 赋予属组用户和其他用户执行权限

    改变权限的例证(temp为一文件):
        chmod a-x temp //rw- rw- rw- 收回所有用户的施行权限
        chmod og-w temp //rw- r– r- – 收回属组用户和其余用户的写权限
        chmod g+w temp //rw- rw- r- – 赋予属组用户写权限
        chmod u+x temp //rwx rw- r- – 赋予文件属主执行权限
        chmod go+x temp //rwx rwx r- x 赋予属组用户和其他用户执行权限

 

    二:相对方式:
    命令格式:chmod [mode] file
    其中mode为一个8进制数,每一个权力由一个8进制数表示。
    例如:    0 4 0 0 文件属主可读
        0 2 0 0 文件属主可写
        0 1 0 0 文件属主可执行

    二:相对形式:
    命令格式:chmod [mode] file
    其中mode为一个8进制数,每一个权力由一个8进制数表示。
    例如:    0 4 0 0 文件属主可读
        0 2 0 0 文件属主可写
        0 1 0 0 文件属主可执行

 

        0 0 4 0 属组用户可读
        0 0 2 0 属组用户可写
        0 0 1 0 属组用户可举办

        0 0 4 0 属组用户可读
        0 0 2 0 属组用户可写
        0 0 1 0 属组用户可进行

#th=`ps -ef|grep -v $$|grep OSWatcher.sh`

        0 0 0 4 其余用户可读
        0 0 0 2 其他用户可写
        0 0 0 1 其他用户可进行

        0 0 0 4 其余用户可读
        0 0 0 2 其余用户可写
        0 0 0 1 其余用户可举办

#echo $th;

   
在设定权限的时候,只需根据上面查出与公事属主、属组用户和其他用户所所有的权限相呼应的数字,并把它们加起来,就是对应的权杖表示。
    例如,temp文件的符号情势权限查出为:
    -rwxr–r– 1 wjr root 0 2008-09-21 16:40 temp
    最前面的“-”表示文件为一般文件.
     则,相应的相对格局权限换算进程为:
    rwx:0400 + 0200 +0100 (文件属主可读、写、执行) = 0 7 0 0
    r–:0 0 4 0 (属组用户可读) = 0 0 4 0
    r–:0 0 4 0 (属组用户可读) = 0 0 4 0
    0 7 4 4
    也得以这么算:
    对应的8进制值如下,有相应权限则增进该值,没有则记零,
    文件属主:r w x:4 + 2 + 1
    属组用户:r w x:4 + 2 + 1
    其余用户:r w x:4 + 2 + 1   
    temp文件的权力为:
    r w x     r – – r – –
    4+2+1     4     4
    把相应的权能加在一起,就是744
   
   
可以看看,文件属主、属组用户和其余用户分别所可以拥有的最大权限值就是7。
    改变权限的通令如:
    $chmod 744 temp
ca88亚洲城网站,    $ls -l temp 
    结果:
    -rwxr–r– 1 wjr root 0 2008-09-21 16:40 temp
    命令:   
    $chmod 766 temp
    $ls -l temp
    结果:
    -rwxrw-rw- 1 wjr root 0 2008-09-21 16:40 temp
   

   
在设定权限的时候,只需遵循地点查出与公事属主、属组用户和其余用户所怀有的权能相对应的数字,并把它们加起来,就是应和的权限表示。
    例如,temp文件的标记格局权限查出为:
    -rwxr–r– 1 wjr root 0 2008-09-21 16:40 temp
    最前边的“-”表示文件为一般文件.
     则,相应的相对情势权限换算进度为:
    rwx:0400 + 0200 +0100 (文件属主可读、写、执行) = 0 7 0 0
    r–:0 0 4 0 (属组用户可读) = 0 0 4 0
    r–:0 0 4 0 (属组用户可读) = 0 0 4 0
    0 7 4 4
    也可以这么算:
    对应的8进制值如下,有照应权限则增长该值,没有则记零,
    文件属主:r w x:4 + 2 + 1
    属组用户:r w x:4 + 2 + 1
    其他用户:r w x:4 + 2 + 1   
    temp文件的权力为:
    r w x     r – – r – –
    4+2+1     4     4
    把相应的权能加在一起,就是744
   
   
可以看看,文件属主、属组用户和其余用户分别所可以拥有的最大权限值就是7。
    改变权限的指令如:
    $chmod 744 temp
    $ls -l temp 
    结果:
    -rwxr–r– 1 wjr root 0 2008-09-21 16:40 temp
    命令:   
    $chmod 766 temp
    $ls -l temp
    结果:
    -rwxrw-rw- 1 wjr root 0 2008-09-21 16:40 temp
   

 

    还足以经过行使 -R 选项连同子目录下的文本一起设置:
    $chmod -R 664 /temp/*   
    那样就可以四回将/
temp目录下的兼具文件连同各类子目录下的文件的权力全体装置为文件属主和属组用户可读和写,其余用户只读。使用-
R选项一定要三思而后行,惟有在急需改变目录树下总体文件权限时才可以使用。

    还足以因而拔取 -R 选项连同子目录下的文件一起设置:
    $chmod -R 664 /temp/*   
    那样就能够四回将/
temp目录下的保有文件连同各样子目录下的文本的权能全体设置为文件属主和属组用户可读和写,其余用户只读。使用-
R选项一定要小心,唯有在必要变更目录树下全方位文本权限时才得以行使。

 

if [ `ps -ef|grep -v grep|grep OSWatcher.sh|wc -l` = “0” ]

then

      cd $oswdir/osw

        echo “begin 1”

      ./startOSW.sh 60 216

 else

      echo “OSWatcher is running “

fi

exit

 

 

2 执行sh命令

[[email protected]
dbscripts]$ sh oswatcher_restart.sh 

begin 1

oswatcher_restart.sh: line 13: ./startOSW.sh: Permission denied

[[email protected]
dbscripts]$ 

[[email protected]
dbscripts]$ ll /mysqllog/osw/startOSW.sh 

-rw-r–r– 1 755 mysql 1609 Sep  2 18:13 /mysqllog/osw/startOSW.sh

看了,是755的权位啊,怎么会履行不断了吧?

 

 

3 google了下,看到他们说要看眼前第一栏的新闻,看rwx等音讯

 

 

r– — — 文文件属主可读,但不可能写或举行

r– r– — 文文件属主和属组用户(一般的话,是文本属主所在的缺省组)可读

r– r– r- – 文任何用户都可读,但不可以写或施行

rwx r– r- – 文文件属主可读、写、执行,属组用户和其余用户只可读

rwx r-x — 文文件属主可读、写、执行,属组用户可读、执

rwx r-x r- x 文文件属主可读、写、执行,属组用户和其余用户可读、执行

rw- rw- — 文文件属主和属组用户可读、写

rw- rw- r- – 文文件属主和属组用户可读、写,其余用户可读

rw- rw- — 文文件属主和属组用户及其余用户读可以读、写,慎用那种权力

安装,因为其他用户都可以写入该公文

chmod [who] operator [permission] filename

 

 

who 中   u  是文本主属权限  g 是属组用户权限   o 其他用户权限  a
是兼具用户权限

         +  是充实权限      – 是吊销权限       =  是设定权限

         r  是读权限        w 是写权限         x是推行权限  u,g,o
针对文件属主、属组用户及其余用户的操作。

 

4  再看我的ll文件结果,没有x标示,那就是从未有过执行权限.

[[email protected]
dbscripts]$ ll /mysqllog/osw/startOSW.sh 

-rw-r–r– 1 755 mysql 1609 Sep  2 18:13 /mysqllog/osw/startOSW.sh

 

 

5  由此再次赋予755权力

[[email protected]
dbscripts]# chmod 755 /mysqllog/osw/startOSW.sh

[[email protected]
dbscripts]# ll /mysqllog/osw/startOSW.sh 

-rwxr-xr-x 1 755 mysql 1609 Sep  2 18:13 /mysqllog/osw/startOSW.sh

看到了,有了x标示了,表示可以实施了.

 

 

6 再次实施sh,ok了。

[[email protected]
dbscripts]# sh oswatcher_restart.sh 

begin 1

oswatcher_restart.sh: ./startOSW.sh: /bin/ksh: bad interpreter: No such
file or directory

[[email protected]
dbscripts]# 

 

又有报错,然则这就是其它一个题材了.

 

http://www.bkjia.com/Linuxjc/547801.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/547801.htmlTechArticlelinux下执行sh文件报错:oswatcher\_restart.sh:
line 13: ./startOSW.sh: Permission denied解决 1 查看执行sh文件的内容
[[email protected]
dbscripts]# more oswatcher_rest…

相关文章