q4561231 发表于 2018-5-22 08:31:20

linux之权限管理

  用户名称解析:
  login: root
  名称解析库来实现,这些库文件位于 /lib64,,/usr/lib64目录,通常以libnss
  nss:network service switch
  安全上下文:每个进程均以某个用户的运行的身份运行
  进程访问资源的权限取决于发起此进程的那个用户的权限;
  权限:
  ls –l
  rw--r—r--
  三类帐号:
  属主:owner,u
  属组:group,g
  其它:other,o
  对应于当前资源,每类帐号都通过三类权限限定,按如下次序固定排列;
  r读
  w 写
  x执行
  -0
  某类用户对某文件的访问权限:   
      --- 000 0      
      --x 001 1      
      -w- 010 2      
      -wx 011 3      
      r-- 100 4      
      r-x 101 5      
      rw- 110 6      
      rwx 111 7      

  练习:
  1.640,600,660,775,755,750,700
  rx-r-----,
  rw-------,
  rw-rw----,
  rwxrwxr-x,
  rwxr-xr-x,
  rwx-rx---,
  rwx------
  2.rwxr-xr—,r-xr-xr—,rw-r-----,rwxrwxrwx
  754                554      640       777
  权限(perm):mode,ownership
  修改mode:
  chmod命令
  chmod[-R]OCTAL-MODE FILE…
  -R:递归修改
  =============
  # mkdir mymod
  # cp /etc/fstab -l /tmp/mymod
  ll -d /tmp/mymod      
-rw-r--r--. 2 root root 899 8月20 07:11 /tmp/mymod      
# chmod -R 700 /tmp/mymod
  ll -d /tmp/mymod      
-rwx------. 2 root root 899 8月20 07:11 /tmp/mymod
  u
  用户
  g
  组
  o
  其它
  a
  所有用户(默认)
  opcode
  +
  增加权限
  -
  删除权限
  =
  重新分配权限
  操作指定类别用户的权限:=
  u=,g=,o=,ug=,a=
  操作某类用户的某位或某些位权限:+ -
  u+,g+,o+
  u-,g-,o-
  引用性修改:
  --reference=/PATH/TO/SOMEFILE
  练习:复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
  #cp –r /etc/skel /home/tuser1
  #ls –ld /home/tuser1
  #chmod –R go=/home/tuser1
  实例:
  $ chmod u+x file                   给file的属主增加执行权限
  $ chmod 751 file                   给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
  $ chmod u=rwx,g=rx,o=x file      上例的另一种形式
  $ chmod =r file               为所有用户分配读权限
  $ chmod 444 file               同上例
  $ chmod a-wx,a+r   file       同上例
  $ chmod -R u+r directory         递归地给directory目录下所有文件和子目录的属主分配读的权限
  $ chmod 4755                           设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。
  修改owership:仅管理员有权限
  chown
  chown [选项]... [所有者][:[组]] 文件...
  通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
  必要参数:
  -c 显示更改的部分的信息
  -f 忽略错误信息
  -h 修复符号链接
  -R 处理指定目录以及其子目录下的所有文件
  -v 显示详细的处理信息
  -deference 作用于符号链接的指向,而不是链接文件本身
  选择参数:
  --reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
  --from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
  --help 显示帮助信息
  --version 显示版本信息
  1。要修改文件hh.c的所有者.修改为sakia的这个用户所有      
chown sakia hh.c      
这样就把hh.c的用户访问权限应用到sakia作为所有者      
2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net      
chown -R sakia:net /tmp/sco
  chgrp
  改变/opt/local /book/及其子目录下的所有文件的属组为book,命令如下:   
$ chgrp - R book /opt/local /book
  umask:遮罩码   
       目录:777-umask   
       文件:666-umask   
         如果某一类用户的权限减得的结果有执行权限,此时会自动让其权限位加1;
  umask UMASK   
         设定:仅对当前shell进程有效;
  chow的用法技巧:
  chown[-R][—reference=][:GROUP]FILE…
  USER只改属主
  USER:GROUP 同时改属主和属组
  :GROUP只改属组
页: [1]
查看完整版本: linux之权限管理