加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux查询默认权限命令,Linux权限管理之基本权限

发布时间:2022-12-08 11:14:46 所属栏目:Linux 来源:
导读:  Linux权限管理之基本权限

  1、文件权限:-rw-r--r--:r读w写x执行

  -:文件类型(-文件d目录l软链接文件)rw- r-- r--

  u所有者(user)g所属组(group)o其他人(other)

  2、chmod命令
  Linux权限管理之基本权限
 
  1、文件权限:-rw-r--r--:r读w写x执行
 
  -:文件类型(-文件d目录l软链接文件)rw- r-- r--
 
  u所有者(user)g所属组(group)o其他人(other)
 
  2、chmod命令
 
  chmod选项模式文件名
 
  选项:-R递归
 
  模式:[ugoa][+-=][rwx]
 
  例如:chmodu+x文件名给user赋予x权限
 
  chmodg+w,o+w文件名给....
 
  chmoda=rwx文件名给所有人...
 
  权限的数字表示:r---4w---2x---1
 
  rwxr-xr-x755
 
  chmod755abc
 
  对文件来讲:最高权限是X
 
  对目录来讲:最高权限是W目录只有05(rx)7(rwx)三个权限
 
  3、权限对目录和文件的作用
 
  r:可以查询目录下的文件名(ls、ll)
 
  w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目
 
  录下文件和目录,剪切(touch、rm、mv、cp)
 
  x:可以进入目录(cd)
 
  权限对文件的作用
 
  r:读取文件内容(cat、more、head、tail)
 
  w:编辑、新增、修改文件内容(vi、echo)
 
  -但是不包含删除文件
 
  x:可执行
 
  4、修改文件的所有者和所属组
 
  chown用户名:组名文件名例如:chownuser1:userabc
 
  chgrp组名文件名
 
  useradduser1#添加用户groupadduser#添加组
 
  gpasswd-auser1user#把user1添加到user里
 
  chownuser1:user文件名#赋予user1和user对该文件的权限
 
  Linux权限管理之特殊权限
 
  一、ACL权限:给予所有者、所属组和其他人之外的用户的权限
 
  1、ACL权限(1)查看分区ACL权限是否开启:dumpe2fs-h/dev/sda5
 
  #dumpe2fs命令是查询指定分区详细文件系统信息的命令
 
  选项:-h#仅显示超级块中的信息,不显示磁盘块组的详细信息
 
  (2)临时开启分区ACL权限:mount-oremount,acl/
 
  #重新挂载根分区,并挂载加入ACL权限
 
  (3)永久开启分区ACL权限:vi/etc/fstab
 
  UUID=c2......./ext4defaults,acl11#加入acl
 
  mount-oremount/#重新挂载或重启系统,使修改生效
 
  2、ACL查看与设定
 
  useraddtonygroupaddstumkdir/abcchowntony:stu/abc
 
  chmod770/abcuseraddlwsetfacl-mu:lw:rxabc
 
  #给用户lw赋予r-x权限,使用'u:用户名:权限'格式
 
  #为组group2分配acl权限,使用'g:组名:权限'格式
 
  getfaclabc#查看acl权限
 
  3、删除ACL权限
 
  setfacl-xu:用户名文件名#删除指定用户的ACL权限
 
  setfcal-xg:组名文件名#删除指定用户组的ACL权限
 
  setfacl-b文件名#会删除文件的所有ACL权限
 
  4、递归和默认ACL权限#权限只能赋予目录,不能赋予文件
 
  (1)递归是父目录在设定ACL权限时linux权限,所有的子文件和子目录也会拥有相同的ACL权限
 
  setfacl-mu:用户名:权限-R目录名(绝对路径)
 
  (2)默认ACL权限的作用是如果给父目录设定默认ACL权限,那么父目录中所有新建的
 
  子文件都会继承父目录的ACL权限
 
  setfacl-md:u:用户名:权限目录名(绝对路径)
 
  二、sudo权限
 
  1、sudo权限
 
  root把本来只能超级用户执行的命令赋予普通用户执行
 
  sudo的操作对象是系统命令
 
  2、sudo的使用
 
  visudo#实际修改的是/etc/sudoers文件
 
  rootALL=(ALL)ALL
 
  #用户名被管理主机的地址=(可使用的身份)授权命令(绝对路径)
 
  #%wheelALL==(ALL)ALL
 
  #%组名被管理主机的地址=(可使用的身份)授权命令(绝对路径)
 
  例子1、授权普通用户可以重启服务器
 
  visudouser1ALL=(ALL)/sbin/shutdown-rnow
 
  sudo/sbin/shutdown-rnow
 
  普通用户执行sudo赋予的命令:
 
  su-user1#切换到user1用户
 
  sudo-|#查看可用的sudo命令
 
  例子2、授权普通用户可以添加其他用户
 
  visudouser1ALL=/usr/sbin/useradd
 
  user1ALL=/usr/bin/passwd#授予用户设定密码的权限
 
  user1ALL=/usr/bin/passwd[A-Za-z]*,!/usr/bin/passwd'',
 
  !/usr/bin/passwdroot#不能设定root用户的密码
 
  三、文件特殊权限(特殊权限尽量少修改)
 
  1、SetUID的功能
 
  只有可以执行的二进制程序才能设定SUID权限
 
  命令执行者要对该程序拥有X(执行)权限
 
  命令执行者在执行该程序时获得该程序文件属主的身份
 
  SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
 
  2、设定SetUID的方法
 
  4代表SUID
 
  chmod4(0)755文件名chmodu+(-)s文件名(u是所有者)0和-是取消USID
 
  passwd命令拥有SetUID权限,所有普通用户可以修改自己的密码
 
  ll/usr/bin/passwd-rwsr-xr-x.....
 
  cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
 
  ll/bin/cat-rwxr-xr-x......
 
  3、危险的SetUID
 
  关键目录应严格控制写权限。如'/','/usr'等
 
  用户的密码设置要严格遵守密码三原则:复杂性、易记忆性、时效性
 
  对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件
 
  被设置了SetUID权限:
 
  {#!/bin/bash
 
  find/-perm-4000-o-perm-2000>/tmp/setuid.check
 
  #搜索系统中所有拥有SUID和SGID的文件,并保存到临时目录中。
 
  foriin$(cat/tmp/setuid.check)
 
  #做循环,每次循环取出临时文件中的文件名
 
  do
 
  grep$i/root/suid.log>/dev/null#('>/dev/null'抛进回收站)
 
  #比对这个文件名是否在模板文件中(suid.log是新Linux系统运行find/-perm-4000
 
  -o-perm-2000>/root/setuid.log保存的原始包含SUID和SGID的信息)
 
  if['$?'!='0']
 
  #检测上一个命令的返回值,如果不是0,证明上一个命令报错
 
  then
 
  echo'$iisn'tinlistfile!'>>/root/suid_log_$(date+%F)
 
  #如果文件名不在模板文件中,则输出错误信息,并把报错送到日志中
 
  fi
 
  done
 
  rm-rf/tmp/setuid.check
 
  #删除临时文件}
 
  实例:touchabc
 
  find/-perm-4000-o-perm-2000>/tmp/suid.log#suid_log模板
 
  visuid_check.sh然后把上面脚本语言粘贴到suid_check.sh中,'shift+:wq'保存退出
 
  chmod755suid_check.sh#赋权
 
  ll
 
  chmodu+sabc#给abcUSID权限
 
  ./suid_check.sh#执行脚本
 
  ls
 
  catsuid_log_2016-3-16#查看新文件的内容,有多余的有SUID的abc文件
 
  rm-rfabc
 
  1、SetGID针对文件的作用
 
  只有可执行的二进制程序才能设置SGID权限
 
  命令执行者要对该程序拥有X权限
 
  命令执行程序时,组身份升级为该程序文件的属组
 
  SetGID权限同样只在该程序执行过程中有效。
 
  2、SetGID针对目录的作用
 
  普通用户必须对此目录拥有r和x权限,才能进入此目录
 
  普通用户在此目录中的有效组会变成此目录的属组
 
  若普通用户在此目录拥有w权限时,新建的文件默认属组是该目录的属组
 
  3、设定SetGID
 
  2代表SGID:chmod2755文件名chmodg+s文件名
 
  1、SBIT粘着位作用
 
  粘着位目前只对目录有效
 
  普通用户对该目录拥有w和x权限
 
  如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户
 
  建立的文件。一旦赋予看粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能
 
  删除自己建立的文件,但不能删除其他用户建立的文件。
 
  2、设置与取消粘着位
 
  设置粘着位:chmod1755目录名chmodo+t目录名(o是other)
 
  取消粘着位:chmod0777目录名chmodo-t目录名
 
  四、不可改变位权限
 
  1、chattr命令格式
 
  chattr[+-=][选项]文件或目录名
 
  +:增加权限
 
  -:删除权限
 
  =:等于某权限
 
  chattr选项包括:i和aa等价于append、i等价于insert
 
  i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果
 
  对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
 
  a:如果对文件设置a属性,那么只能在文件中增加(echo)数据,但是不能删除也不能修改数据;
 
  如果对目录设置a属性,那么只允许在目录中建立和修改文件,但不允许删除。
 
  2、查看文件系统属性
 
  lsattr选项文件名
 
  选项:-a显示所有文件和目录
 
  -d若目标是目录,仅列出目录本身的属性,而不是子文件的
 
  实例:chattr+iabc(文件名)
 
  lsattrabc
 
  lsattr-d123(目录)
 
  chattr+aabc
 
  echobbbbb>>abc(添加数据,不能用vi命令)
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!