监控登陆
w 查看谁在登录
last 登录和重启的记录
lastb 登录失败次数
lastlog 最近登录日志
文件的特殊执行文件
文件的特殊执行文件:
SUID 权限为4
设置在文件上,设置在目录上无意义
只能作用在二进制程序上,不能作用在脚本上
执行SUID权限的程序时,此用户将继承此文件所有者权限
如果这个二进制程序拥有x权限则是s,如果没有x,则是S
设置方法chmod u+s/u-s file
例1:passwd用户是拥有SUID权限的
-rwsr-xr-x. 1 root root 34512 Aug 12 2018 /usr/bin/passwd
将passwd 的 SUID文件去掉
chmod u-s /etc/passwd
去掉后切换一个普通用户,去修改密码,会发现错误修改不了,因为passwd需要使用到root用户权限来执行,由root用户来更新用户信息
$ passwd
Changing password for user user09.
Current password:
Current Password:
passwd: Authentication token manipulation error
列2:给mkdir添加SUID权限,切换到普通用户,在root目录下执行mkdri命令,发现是可以创建成功的,然后在查看创建文件的详细信息显示会发现所属人是root
-rwsr-xr-x. 1 root root 106256 Jan 11 2019 /usr/bin/mkdir
su - user07
mkdir /root/user07
drwxrwxr-x. 2 root user07 6 Sep 8 06:36 /root/user07/
SGID 权限为2
可以设置在文件和目录上
只能作用在二进制文件上,不能作用在脚本上
执行SGID权限程序时,此用户将继承此文件的所属组权限,
如果是使用在二进制文件中,则是和SUID一样的功能
设置方法为 chmod g+s/g-s file
目录的特殊执行权限:
SGID 权限为2
当一个目录有SGID权限时,此文件下所有新建的文件都自动继承此目录的组
如果是目录上,如果此目录都有sgid的权限,则在该目录下创建的文件都会默认继承为该目录的组,如果为继承目录下的子目录,就无法继承
列1:user07拥有人和组分别为root、user07,给该用户加入SGID权限,在user07目录下创建目录会发现user07下的目录会继承user07的权限,【如果当你在次修改了user07的目录权限,在创建子目录,权限不会发送变化】
drwxrwxr-x. 2 root user07 6 Sep 8 06:36 user07
[root@abc ~]# chmod g+s user07
[root@abc ~]# ll -d user07
drwxrwsr-x. 2 root user07 6 Sep 8 06:36 user07
[root@abc user07]# mkdir 1
[root@abc user07]# ll
total 0
drwxr-sr-x. 2 root user07 6 Sep 11 02:40 1
stciky 权限为1
对于一个多人可写的目录,如果设置了sticy,则每个用户仅能删除和改名自己的文件或目录
用户在设置sticky权限的目录下新建的目录不会自动继承Sticky权限
设置方法chmod o+t [目录] 或者 chmod 1777 dir
列:创建一个it目录所属组为it,权限为733;如果未设置stciky权限user05用户可以删除user07、9的文件,如果加上stciky权限就不能删除
[root@abc ~]# cat /etc/group | grep it
it:x:1111:user05,user09,user07
drwx-wx-wt. 4 root it 34 Sep 11 03:05 it
[root@abc it]# ll
total 0
drwxrwxr-x. 2 root user09 6 Sep 11 02:49 user09
drwxrwxr-x. 2 root user07 6 Sep 11 02:52 user07
[root@abc it]# rm -rf user09
[root@abc it]# ls ASZ
user07
[user07@abc it]$ rm -rf user05
rm: cannot remove 'user05': Operation not permitted
ACL
ACL(Access Control list)
红帽8文件时默认开启ACL的,如果文件显示“+”表示该目录已经拥有了ACL权限,它高云chmod的普通权限
getfacl 查看文件完整的ACL信息
ACL权限优先级:
文件拥有者 > ACL指定的用户 > ACL指定的组 > 其他人
setfacl 设置ACL权限
-m 设置ACL
给指定用户设置ACL u:[用户名]:rwx,如果不写用户名,则默认会给文件拥有人添加权限
给指定组设置ACL u:[用户名]:rwx,如果不写用户名,则默认会给文件拥有组添加权限
给其他用户设置ACL o:[用户名]:rwx
设置mask值 mask值控制权限范围,指定用户不能超过mask的权限范围,如果超过了则以mask值的最大权限为准,如果设置mask值,那么ls -l 查看文件,组权限显示就会被替换为mask值显示,使用chmod修改的也将是mask的值,如果需要修改组的权限需要使用 setfacl命令
-x 删除指定用户和组的ACL权限
-R 递归修改ACL权限
-b 清空所有ACL权限
列1: userlist文件设置mask值为rx,使用chmod命令修改组的值,再去查看发现时修改mask的值
[root@abc ~]# getfacl userlist
# file: userlist
# owner: root
# group: root
user::rw-
group::r--
mask::r-x
other::r--
[root@abc ~]# chmod g+rwx userlist
[root@abc ~]# getfacl userlist
# file: userlist
# owner: root
# group: root
user::rw-
group::r--
mask::rwx
other::r--
列2:使用setfacl修改userlist文件的mask值为rx,在给指定用户user09分配rwx权限
[root@abc ~]# getfacl userlist
# file: userlist
# owner: root
# group: root
user::rwx
user:user09:rwx #effective:r-x
group::r--
mask::r-x
other::rwx
列3:user09是it组的成员,创建it目录,设置拥有组为root拥有用户为root,要求user09可以在it目录创建和删除,it组其他成员只能进入该目录及其子目录,且不能查看该目录的内容
[root@abc data]# ll
total 0
drwxr-x---. 5 root root 48 Sep 11 04:12 it
[root@abc data]# getfacl it/
# file: it/
# owner: root
# group: it
user::rwx
group::r-x
other::r-x
[root@abc data]# setfacl -m u:user09:rwx it
[root@abc data]# setfacl -m g:it:x it
[root@abc data]# getfacl it/
# file: it/
# owner: root
# group: root
user::rwx
user:user09:rwx
group::r-x
group:it:--x
mask::rwx
other::---
设置默认ACL权限,默认ACL权限是为了确保在目录中创建的文件和目录继承的特地的ACL权限,如果是文件继承最大只能继承rw,设置了默认的ACL不会对目录本身的权限进行修改,不能在文件中使用,需要在目录中使用,
在常规的设置权限前加“d”,比如设置ACL用户默认权限 d:u:[用户名]:rx
-x 删除默人ACL
-k 清除默认权限
sudo命令
sudo 提权命令,给予非管理员用户使用root用户的权限,以root的身份来运行
visudo 打开 sudo 配置文件,目录在 /etc/sudoers
配置文件格式
用户 需要在哪执行主机(hosts文件)=(以设定身份/用户执行)