码迷,mamicode.com
首页 > 系统相关 > 详细

从零开始学Linux_07_Linux文件权限

时间:2015-10-04 08:52:22      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:linux

欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢技术分享



一、Linux用户类别
1、用户类别
root:这是系统特权用户类,他们都有访问root登录帐号的权限
owner:这是实际拥有文件的用户。
group:这是共享文件的组访问权的用户类的用户组名称
world:这是不属于上面3类的所有其他用户。

2、/etc/shadow
# cat /etc/shadow
xin:$6$vhP8o8VT$pcU8tGypN77EkId0XHZdBjyD26TQ6jCQIDU6zuejMvRRtlKhazxSbJLGRjm0bjiXLIIU4Kz4LC0rZcp.WkkLY0:16430:0:99999:7:::(:隔开每一项)
(1)用户名
(2)密码(加密过的密码,*或!打头表示不能登录)
(3)密码最后一次被修改的时间(从1970年1月1日到该日的天数)
(4)从上一次修改密码到下一次允许进行修改要经历的天数
(5)经过多少天后用户必须重新修改密码
(6)在密码到期前多少天向用户发出必须修改密码的警告
(7)密码到期后经过多少天便把该帐号关闭
(8)帐号到期日
(9)保留

3、/etc/group
(1)group文件格式:
groupname:password:gid:user_list
——groupname:组名称
——password:组密码
——gid:组识别号
——user_list:该组用户清单
# cat /etc/group
root:x:0:
xin:x:1000:

二、组管理

命令名称

用途

命令举例

groupadd

添加组

groupadd g_study

groupadd –g 777 mygroup

-g 参数直接指定gid

gpasswd

管理用户组信息,如设置密码,添加删除组成员

gpasswd g_study

gpasswd –a study g_study

-a增加用户进组

-d从组里删除用户

groupmod

修改用户组信息

groupmod -n studygroup (新名)g_study(旧名)

groupdel

删除用户组

groupdel studygroup

groups

显示用户所属的用户组

groups study

groupadd

添加组

groupadd g_study

groupadd –g 777 mygroup

-g 参数直接指定gid



三、用户管理

命令名称

用途

命令举例

useraddadduser

添加用户

useradd study

passwd

为用户设置密码

passwd study

passwd –d study    (删除密码)

usermod

修改用户信息

usermod -c study(改后的别名) study

userdel

删除用户

userdel –r study         (-r 连主目录一起删除)

su

用户切换

su root

id

查看用户的UIDGID及所归属的用户组

id study



四、权限管理
Linux文件权限位
(1)文件权限位的表示:-rwxrwxrwx
(2)第一位表示文件的类型,-表示普通文件,d表示目录文件,l表示符号链接文件;
(3)接下来三位表示owner用户的读,写,执行权限
(4)紧接着三位表示group用户的读,写,执行权限
(5)最后三位表示world用户的读,写,执行权限

Linux文件权限管理
1、给文件赋予相应的权限位(chmod)
(1)chmod介绍
【1】chmod命令格式为:
chmod [option] mode files...
【2】mode表示格式:
  <1>、数字方式:[n][n][n]   r=4 w=2 x=1
     rwx:4+2+1;   r-x:4+1;  rw-:4+2
  <2>、文本方式:[ugoa][+ - =][rwx]
     u -- 该档案的拥有者;
     g -- 与该档案的拥有者属于同一个群体(group)者;
     o -- 其他以外的人;
     a -- 所有人;
     + -- 增加权限
     - -- 去掉权限
     = -- 设定权限

(2)举例1
【1】给text文件赋予rwxr-xr-x权限:
chmod 755 text
【2】给text及其子目录底下所有文件赋予rwxr-xr-x权限:
chmod -R 755 text

(3)举例2
【1】为文件abc的组拥有者增加rw权限
chmod g+rw abc
【2】为abc文件的用户拥有者去除x权限
chmod u-x abc
【3】指定文件abc的其他用户权限为rw-
chmod o=rw-
【4】为文件abc及其子目录底下的所有文件的全体用户增加x权限
chmod -R a+x abc
2、设置文件所属的用户以及所属的组(chown,chgrp)
(1)chgrp
【1】chgrp用来更改文件的组拥有者,其一般格式为:
chgrp [option] group file
【2】把文件abc的组拥有者改为study:
chgrp xin abc
【3】把test及其子目录下的所有文件的组拥有者改为study:
# chgrp -R xin test/

(2)chown
【1】chown用来更改文件所有者与组拥有者,其一般格式为:
chown [option] owner[:group] file
【2】将test及其子目录下的所有文件的所有者改为jjl:
# chown -R root test/
【3】将test文件的所有者改为jjl,组拥有者改为study:
# chown -R xin:xin test/

3、set uid(suid)、set gid(sgid)
当 s 标志在文件拥有者的 x 项目为 SUID,那 s 在群组的 x 时则称为 Set GID, SGID !
(1)/usr/bin/passwd -rwsr-xr-x
(2)/etc/shadow -r--------
(3)suid权限仅对可执行程序有效即具有x权限
(4)本权限针对运行中的进程
(5)运行中的进程将具有该程序拥有者的权限
(6)s出现在组权限的x位置上时,称为sgid
(7)举例
  • vbird 对於 /usr/bin/passwd 这个程序来说是具有 x 权限的,表示 vbird 能运行 passwd;
  • passwd 的拥有者是 root 这个帐号;
  • vbird 运行 passwd 的过程中,会『暂时』获得 root 的权限;
  • /etc/shadow 就可以被 vbird 所运行的 passwd 所修改。
  • 4、sticky bit(sbit)   :  粘着位t属性
    (1)一个文件拥有w属性,则可以删除
    (2)/tmp drwxrwxrwt
    (3)仅对目录有效
    (4)防止文件或目录被非属主删除,只能由自己或者root用户删除

    5、应用

    如果在这三个数字之前再加上一个数字的话,最前面的那个数字就代表这几个权限了!

    • 4 为 SUID
    • 2 为 SGID
    • 1 为 SBIT
    (1)例1
    # ls -l a 
    -rw-r--r-- 1 root root 7  8月 26 20:01 a
    # chmod 4644 a
    # ls -l a
    -rwSr--r-- 1 root root 7  8月 26 20:01 a  (大写S代表没有可执行权限
    # chmod 4744 a
    # ls -l a
    -rwsr--r-- 1 root root 7  8月 26 20:01 a

    (2)例2
    # chmod 7777 a
    # ls -l a
    -rwsrwsrwt 1 root root 7  8月 26 20:01 a

    6、umask
    (1)正常用户下默认:0002
    表示其他用户必须去掉2的权限 , mode = 777 & ~umask
    (2)root用户:0022
    (3)如果是文件,还会去掉可执行权限,mode = 666 & ~umask


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    从零开始学Linux_07_Linux文件权限

    标签:linux

    原文地址:http://blog.csdn.net/keyyuanxin/article/details/48892099

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!