目录
1、连接文件
(1)软连接
是连接文件本身,可以跨分区建立软连接,不会因为不同分区而出现不能使用的问题。
在创建软连接的文件中,修改一处文件另一处同时发生修改,当删除软连接对象时,不影响源文件使用,当删除源文件后,连接对象失去作用。
创建软连接的方式:
#ln -s soure /file object
#ln -s /root/test.txt testlink
(2)硬连接
在文件中使用inode号连接,两个连接文件同事使用一个inode号进行文件表示,一处文件修改,修改针对文件底层数据块修改,两个文件同时修改内容,删除一处文件,不会影响另一处文件的使用。因为硬连接使用inode号连接,所以只能在同分区能使用,不能跨分区使用。
创建硬连接的方式:
#ln soure /file object
#ln /root/test.txt testlink2
2、命令别名
(1)定义别名
alias [name[=value]]
#alias li=’cat /etc/passwd’
(2)删除别名
unalias li
(3)查看系统可用别名
alias
3.sudo中的Alias主要分成4种
Host_Alias 、Cmnd_Alias 、User_Alias 、Runas_Alias
(1) 配置Host_Alias:就是主机的列表
Host_Alias
HOST_FLAG = hostname1, hostname2, hostname3
(2) 配置Cmnd_Alias:就是允许执行的命令的列表,命令前加上!表示不能执行此命令.
注意:命令一定要使用绝对路径,避免其他目录的同名命令被执行,造成安全隐患 ,因此使用的时候也是使用绝对路径!
Cmnd_Alias
COMMAND_FLAG = command1, command2, command3 ,!command4
(3) 配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
(4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
(5) 配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG
4、sudo概述
sudo允许根据指定的安全策略,运行一个用户以其他用户身份或管理员身份去执行某个命令。
(1)sudo配置
查看sudo软件包:# rpm -qi sudo
查看是否安装了sudo :rpm -qa|grep sudo
如果没有安装则在系统光盘中找到sudo的rpm包进行安装:rpm -vih /media/Packages/sudo-1.8.6p7-16.e17.x86_64
sudoers的模板配置文件:# cat /etc/sudoers
(2)配置一个普通用户,不需要切换密码就能以管理员身份执行管理命令
yanhui ALL=(ALL) NOPASSWD: ALL
第一个ALL:多个系统之间部署 sudo 环境时,该ALL代表所有主机。
也可以换成相应的主机名,表示改规则只适用主机名对应的系统
第二个ALL(即括号内的):指出规定的 user 用户能够以何种身份来执行命令。
该ALL表示user用户能够以任何用户的身份执行命令
第三个ALL:表示能执行"命令表",ALL表示用户能够执行系统中的所有命令。
(3)定义别名并简单验证
Cmnd_Alias NETADMINCMD = /usr/sbin/ip,/usr/sbin/ifconfig,/usr/sbin/route
Cmnd_Alias USERADMINCMD = /usr/sbin/useradd,/ur/sbin/userdel,/usr/sbin/passwd,! /usr/sbin/passwd root
fedora ALL=(ALL) NETADMINCMD
centos ALL=(ALL) NETADMINCMD,USERADMINCMD
实例
为用户stu1进行提权操作,让他只具用户与用户组的管理权限
编辑sudo配置文件/etc/sudoers
vim /etc/sudoers
使用Cmnd_Alias为用户与用户组的管理权限定义别名,并加入以下权限
stu1 ALL=(ALL) NETADMINCMD,USERADMINCMD
使用wq!保存并强制退出