linux系统安全及应用——账号安全(用户切换与提权)
一、su命令切换用户
su uesr 和 su - user 的区别:前者只切换登录人,shell环境还是上一个人的;后者表示注销当前用户,再进入新用户的shell。
查看切换记录:/var/log/secure
二、使用sudo机制提升权限
授权普通用户可以以超级用户root的身份运行/sbin下的某些命令包括/sbin、/usr/sbin、/user/local/sbin
1)配置sudo授权
~] #visudo 或者
~] #vim /etc/sudoers
以上两条命打开的是同一个文件,添加新记录,如:
user1 localhost=/sbin/* ,!/sbin/reboot(授权给user1用户/sbin下的所有命令,除了reboot命令;注意localhost位置是主机名,如果本机设置主机名,则需要填写主机名才对)
2)sudo的使用
切换到授权用户后,就可以使用sbin下的命令了。
例:~] #sudo ifconfig eth0 1.1.1.1/8
(注意:这里执行以上命令后,需要验证使用者身份输入密码方可执行;另外如果连续执行sudo+命令,那么5分钟之内是不需要再输入密码的)
3)批量提权
第一种方式是先把用户加入wheel组
~] #gpasswd -a user1 wheel
然后visudo启用配置文件
%wheel 主机名=命令 (主机名和命令由自己定义)
第二种方式引出了三个概念,主机别名、用户别名和命令别名,同样需要visudo打开配置文件,修改或添加
User_Alias ADMINS = Jams,Tom (用户别名)
Host_Alias MAILSERVICE = smtp,smtp2 (主机别名)
Cmnd_Alias NETWORKING = /sbin/route,/sbin/ifconfig,/sbin/iptables (命令别名)
添加一行 ADMINS MAILSERVICE=NETWORKING
4)设置sudo日志
打开visudo,添加一行 Defaults logfile=/var/log/sudo
5)查询授权的sudo操作, 登录被赋权用户user1,执行
~] #sudo -l (输入密码后方可查看)