服务器端

修改配置文件

/etc/rsyslog.conf中

$ModLoad imudp
$UDPServerRun 514

打开日志服务监听
修改/etc/sysconfig/rsyslog文件

SYSLOGD_OPTIONS="-m240 -r"

其中-r表示接受外部日志写入

防火墙开启端口

firewall-cmd --zone=public --add-port=514/udp

重启服务

systemctl restart rsyslog

客户端配置

修改配置文件/etc/rsyslog.conf
只需要把尾部.@@remote-host:514注释取消,并把两个@符号改为一个@符号,remote-host替换为服务器IP即可。
注:如使用TCP协议,使用@@则表示TCP协议。

重启服务

systemctl restart rsyslog

测试

使用logger命令发送日志进行测试
logger -p user.info "teststr"
在服务器端/var/log/message可看到以下内容

Feb 10 23:59:20 master root: teststr

su与sudo的区别

su

su是最简单的身份切换命令,它可以进行任何身份的切换。
单纯使用su切换成为root的身份,读取的变量设置方式为非登录shell的方式,这种方式很多原本的变量不会被修改,尤其是PATH这个变量。由于没有修改成为root的环境,因此很多root常用的命令就只能使用绝对路径来执行。所以切换身份时务必使用su -。

  • 若要完整地切换到新用户的环境,必须使用su - username或su -l username才会连同PATH、USER、MAIL等变量都转成新用户的环境。
  • 如果仅想执行一次root的命令,可以使用su - -c "COMMAND"方式。
  • 使用root切换成为其他用户时,并不需要输入新用户的密码。
  • 使用su切换到root身份里,需要root的密码。

sudo

相对于su需要了解新用户的密码(通常是root的密码),sudo的执行则仅需要自己的密码即可。甚至可以设备不需要密码即可执行sudo。由于sudo可以让普通用户以其他用户的身份执行命令(通常是使用使用root的身份来执行命令),因此并非所有人都可以执行sudo,而是仅有规范到/etc/sudoers内的用户才能执行sudo命令。

sudo执行流程

  • 当用户执行sudo时,系统于/etc/sudoers文件中查找该用户是否有执行sudo权限。
  • 若用户具有可执行sudo的权限后,便让用户输入自己的密码来确认。
  • 密码输入成功,便开始执行sudo后续接的命令(root执行sudo时,不需要密码。)
  • 若欲切换的身份与执行者身份相同,也不需要输入密码。

sudo的执行重点是:能否使用sudo必须要看/etc/sudoers的设置,而可使用sudo者是通过输入用户自己的密码来执行后续的命令串。编辑sudoers文件有一定的规范,所以使用vi直接编辑是不好的,要通过visudo命令去修改这个文件。

 posted on 2019-02-15 15:28  feng_land  阅读(929)  评论(1编辑  收藏  举报