linux查询默认权限命令,Linux权限管理之基本权限
1、文件权限:-rw-r--r--:r读w写x执行
-:文件类型(-文件d目录l软链接文件)rw- r-- r--
u所有者(user)g所属组(group)o其他人(other)
2、chmod命令
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命令) (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |