红联Linux门户
Linux帮助

各位大哥大姐 给小弟这个 chmod 指点迷津 ,困惑昨天一天了

发布时间:2011-01-06 09:50:08来源:红联作者:chuanqi
chmod的用法 我现在都有点搞晕了: 这是我从一个人的博客(http://hi.baidu.com/angivo/blog/item/d679237e467f68320dd7da10.html)上看的 不知道对不对 ? 我知道我自己理解有点错误了 :
chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。

一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限。

权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。

本人在fedora11 64位中 创建 idc mu c 三个用户,在home 文件夹下有 三个用户 idc,mu,c 三个文件夹,/etc/group,里看看到idc ,c ,mu, 三个用户组,然后我进入 root用户下 把idc ,c ,mu,三个户指定为idc ,c,mu,三个用户组的管理员,然后我就进入了idc用户下,执行一下命令:
[idc@localhost home]$ gpasswd -a mu idc
正在将用户“mu”加入到“idc”组中
[idc@localhost home]$ ls
c idc linuxidc mu muchuanqi
[idc@localhost home]$ chmod 750 idc
[idc@localhost home]$ su mu
密码:
[mu@localhost home]$ ls
c idc linuxidc mu muchuanqi
[mu@localhost home]$ cd idc
[idc@localhost ~]$ su mu
密码:
[mu@localhost idc]$ cd ..
[mu@localhost home]$ ls
c idc linuxidc mu muchuanqi
[mu@localhost home]$ chmod 750 mu
[mu@localhost home]$ su idc
密码:
[idc@localhost home]$ cd mu
bash: cd: mu: 权限不够
[idc@localhost home]$ id mu
uid=501(mu) gid=501(mu) groups=501(mu),500(idc),508(muchuanqi)
我想问一下 我明明已经把mu加入到idc这个组,mu已经是idc的一员,而且我用chmod 750 idc, mu能访问这个文件夹,然而进入mu用户下,用chmod 750 mu,为什么idc不能访问mu这个文件,而mu是idc用户的一员 ……望高手指点迷津
还有这个文件夹权限到底怎么设置 有点晕 呵呵
文章评论

共有 9 条评论

  1. chuanqi 于 2011-01-07 14:37:10发表:

    newgrp是不是创建一个组………………和groupadd 两者有什么区别???

  2. chuanqi 于 2011-01-07 14:18:54发表:

    [quote]newgrp命令,可以更改当前有效组,启用新用shell。
    groups可查看当前用户的所有组,排在前面的是有效组。
    谢谢你的解释 ,我明白……我主要是没清楚用mu这个用户建立的mu这个目录,所属组是mu,然而idc却不是这个组的成员,当然没有权限进入mu这个文件(其实mu这个文件目,是我创建mu这个账户是,系统在家目录创建的一个用户目录,是属于mu这个组所rong有([idc@localhost home]$ ls -ld mu
    drwx------. 4 mu mu 4096 01-07 14:09 mu
    ),但是我对于这个newgrp这个命令,理解不清楚 ,麻烦你能在解释清楚一点 ??? 谢谢

  3. chuanqi 于 2011-01-07 13:52:10发表:

    恩 明白了 谢谢高手们 …… 现在搞清楚 谁和谁的关系了 谢谢

  4. 相思爱文 于 2011-01-07 10:35:39发表:

    newgrp命令,可以更改当前有效组,启用新用shell。
    groups可查看当前用户的所有组,排在前面的是有效组。

    也可以建立完文件(目录)后,用chgrp更改组。
    一个文件(或目录),同一时间,只能有一个属主和一个属组。
    不管是谁建立的,以ls -l查看显示结果为准

  5. linuxcn 于 2011-01-07 10:23:59发表:

    [i=s] 本帖最后由 linuxcn 于 2011-1-7 10:26 编辑 [/i]

    你如果对数字的系统不熟, 就用字母的
    例如
    chmod a+w

    三个位置
    1. 用户范围
    u -- user 用户
    g -- group 组
    a -- all 所有人
    2. 加 / 减 权限
    3. 权限类型
    w -- write
    r -- read
    x -- execute

    chmod u+w 赋予用户写的权限
    chmod u-w 取消用户写的权限

  6. 相思爱文 于 2011-01-06 21:30:28发表:

    [i=s] 本帖最后由 相思爱文 于 2011-1-6 21:39 编辑 [/i]

    终于看明白了。

    引用:
    我明明已经把mu加入到idc这个组,mu已经是idc的一员,而且我用chmod 750 idc, mu能访问这个文件夹,然而进入mu用户下,用chmod 750 mu,为什么idc不能访问mu这个文件,而mu是idc用户的一员 ……望高手指点迷津
    还有这个文件夹权限到底怎么设置 有点晕 呵呵



    mu加入到idc组,如果目录的权限允许idc组成员进入(用ls -ld 目录名 查看权限),那么组成员(用户mu和idc)都能进入。
    mu建立的目录,(用ls -ld 目录名 查看权限),默认属主为mu,属组为mu,所以只能是mu组成员才能访问。
    用户mu,想要建立的目录属组为idc,需先运行newgrp idc。再建立目录,属主为mu,属组为idc。

    不管谁是谁的成员,只看ls -l显示结果中的有效组。是组成员就可访问。

  7. 相思爱文 于 2011-01-06 21:26:10发表:

    本帖描述不清楚。
    需要知道cat /etc/group的内容
    需要ls -ld mu的内容
    以root或其他身份修改组成员后,要重新登录一次。或者用su - username。注意,中间有个“-”符号。

    另外,描述和命令分开。测试用目录不要与用户名相同。
    可以把所有的命令都列出来,在命令后面进行注释,内容尽是短。这样会比较清晰。

  8. 相思爱文 于 2011-01-06 14:12:56发表:

    [i=s] 本帖最后由 相思爱文 于 2011-1-6 21:18 编辑 [/i]

    命令很乱。
    显示当前目录用pwd
    显示目录所有者和权限用ls -l

    1、两个用户a和b。
    2、把b加入a组。
    3、以用户a 建立目录test,权限750。
    4、让用户b能进入目录test中。

    用户a终端
    cd /tmp
    mkdir -m 750 test
    ls -ld test
    用户b终端
    cd /tmp/test

    成功,可以进入,我这里没问题。

    想用su切换身份,用
    su - 用户名

  9. age 于 2011-01-06 12:04:33发表:

    权限750的话, 就是rwxr-x---
    对文件夹的话, 就是本用户具有rwx, 用户所属组有读,执行权限, 其它用户无任何权限.
    如果要进入文件夹的话, 必须有读和执行权限, 对比你上面的权限设置,
    一个可能的原因就是 idc并非mu组的一员, 所以没有任何权限.
    你给出的命令太乱了, 看得不明白.