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

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]

例如:chmod u+x 文件名           给user赋予x权限

chmod g+w,o+w 文件名       给....

chmod a=rwx 文件名         给所有人...

权限的数字表示:r --- 4     w --- 2    x --- 1

rwxr-xr-x  755

chmod 755 abc

对文件来讲:最高权限是 X

对目录来讲:最高权限是 W    目录只有0  5(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 用户名:组名 文件名    例如:chown user1:user abc

chgrp 组名  文件名

useradd user1  #添加用户       groupadd user  #添加组

gpasswd -a user1 user  #把user1添加到user里

chown user1:user 文件名  #赋予user1和user对该文件的权限

Linux权限管理之特殊权限

一、ACL权限:给予所有者、所属组和其他人之外的用户的权限

1、ACL权限  (1)查看分区ACL权限是否开启:dumpe2fs -h /dev/sda5

#dumpe2fs命令是查询指定分区详细文件系统信息的命令

选项: -h    #仅显示超级块中的信息,不显示磁盘块组的详细信息

(2)临时开启分区ACL权限:mount -o remount,acl /

#重新挂载根分区,并挂载加入ACL权限

(3)永久开启分区ACL权限:vi /etc/fstab

UUID=c2......./ ext4 defaults,acl 1 1    #加入acl

mount -o remount /    #重新挂载或重启系统,使修改生效

2、ACL查看与设定

useradd tony       groupadd stu       mkdir /abc    chown tony:stu /abc

chmod 770 /abc     useradd lw         setfacl -m u:lw:rx abc

#给用户lw赋予r-x 权限,使用'u:用户名:权限' 格式

#为组group2分配acl权限,使用'g:组名:权限'  格式

getfacl abc   #查看acl权限

3、删除ACL权限

setfacl -x u:用户名 文件名      #删除指定用户的ACL权限

setfcal -x g:组名 文件名        #删除指定用户组的ACL权限

setfacl -b 文件名               #会删除文件的所有ACL权限

4、递归和默认ACL权限       #权限只能赋予目录,不能赋予文件

(1)递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限

setfacl -m u:用户名:权限-R 目录名(绝对路径)

(2)默认ACL权限的作用是如果给父目录设定默认ACL权限,那么父目录中所有新建的

子文件都会继承父目录的ACL权限

setfacl -m d:u:用户名:权限 目录名(绝对路径)

二、sudo权限

1、sudo权限

root把本来只能超级用户执行的命令赋予普通用户执行

sudo的操作对象是系统命令

2、sudo的使用

visudo      #实际修改的是/etc/sudoers文件

root   ALL = (ALL)      ALL

#用户名  被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

#%wheel   ALL==(ALL)   ALL

# %组名   被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

例子1、授权普通用户可以重启服务器

visudo         user1 ALL=(ALL) /sbin/shutdown -r now

sudo /sbin/shutdown -r now

普通用户执行sudo赋予的命令:

su - user1        #切换到user1用户

sudo -|           #查看可用的sudo命令

例子2、授权普通用户可以添加其他用户

visudo             user1 ALL=/usr/sbin/useradd

user1 ALL=/usr/bin/passwd      #授予用户设定密码的权限

user1 ALL=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd'',

!/usr/bin/passwd root      #不能设定root用户的密码

三、文件特殊权限    (特殊权限尽量少修改)

1、SetUID的功能

只有可以执行的二进制程序才能设定SUID权限

命令执行者要对该程序拥有X(执行)权限

命令执行者在执行该程序时获得该程序文件属主的身份

SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

2、设定SetUID的方法

4代表SUID

chmod 4(0)755 文件名    chmod u+(-)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的文件,并保存到临时目录中。

for i in $(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 '$i isn't in listfile!' >> /root/suid_log_$(date +%F)

#如果文件名不在模板文件中,则输出错误信息,并把报错送到日志中

fi

done

rm -rf /tmp/setuid.check

#删除临时文件              }

实例:touch abc

find / -perm -4000 -o -perm -2000 > /tmp/suid.log    #suid_log模板

vi suid_check.sh  然后把上面脚本语言粘贴到suid_check.sh中,'shift+:wq'保存退出

chmod 755 suid_check.sh    #赋权

ll

chmod u+s abc              #给abc USID权限

./suid_check.sh            #执行脚本

ls

cat suid_log_2016-3-16   #查看新文件的内容,有多余的有SUID的abc文件

rm -rf abc

1、SetGID针对文件的作用

只有可执行的二进制程序才能设置SGID权限

命令执行者要对该程序拥有X权限

命令执行程序时,组身份升级为该程序文件的属组

SetGID权限同样只在该程序执行过程中有效。

2、SetGID针对目录的作用

普通用户必须对此目录拥有r和x权限,才能进入此目录

普通用户在此目录中的有效组会变成此目录的属组

若普通用户在此目录拥有w权限时,新建的文件默认属组是该目录的属组

3、设定SetGID

2代表SGID:chmod 2755 文件名       chmod g+s 文件名

1、SBIT粘着位作用

粘着位目前只对目录有效

普通用户对该目录拥有w和x权限

如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户

建立的文件。一旦赋予看粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能

删除自己建立的文件,但不能删除其他用户建立的文件。

2、设置与取消粘着位

设置粘着位: chmod 1755 目录名        chmod o+t 目录名     (o是other)

取消粘着位: chmod 0777 目录名        chmod o-t 目录名

四、不可改变位权限

1、chattr命令格式

chattr [+-=] [选项] 文件或目录名

+:增加权限

-:删除权限

=:等于某权限

chattr选项包括:i和a      a等价于append、  i等价于insert

i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果

对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。

a:如果对文件设置a属性,那么只能在文件中增加(echo)数据,但是不能删除也不能修改数据;

如果对目录设置a属性,那么只允许在目录中建立和修改文件,但不允许删除。

2、查看文件系统属性

lsattr 选项 文件名

选项: -a 显示所有文件和目录

-d 若目标是目录,仅列出目录本身的属性,而不是子文件的

实例:chattr +i abc(文件名)

lsattr abc

lsattr -d 123(目录)

chattr +a abc

echo bbbbb >> abc (添加数据,不能用vi命令)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值