描述
在Linux系统中一些系统命令只能root使用,普通用户执行时会报RTNETLINK answers: Operation not permitted错。
实际演示
[postgres@node1 ~]$ id
uid=1000(postgres) gid=1000(postgres) groups=1000(postgres) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[postgres@node1 ~]$ ip addr add 192.168.59.66/24 dev ens160 label ens160:0
RTNETLINK answers: Operation not permitted
解决方法
1.可以编辑/etc/sudoers文件使普通用户获取root执行权限,详见此文:https://www.cnblogs.com/yanling-coder/p/10947157.html
2.使用chmod修改对应命令属性
chmod u+x /usr/sbin/ip
chmod u+s /sbin/ip
[postgres@node1 ~]$ which ip
/usr/sbin/ip
[postgres@node1 ~]$ ls -l /usr/sbin/ip
-rwxr-xr-x. 1 root root 466560 Apr 11 2018 /usr/sbin/ip
[postgres@node1 ~]$ exit
logout
[root@node1 ~]# chmod u+x /usr/sbin/ip
[root@node1 ~]# ls -l /usr/sbin/ip
-rwxr-xr-x. 1 root root 466560 Apr 11 2018 /usr/sbin/ip
[root@node1 ~]# ls -l /sbin/ip
-rwxr-xr-x. 1 root root 466560 Apr 11 2018 /sbin/ip
[root@node1 ~]# chmod u+s /sbin/ip
[root@node1 ~]# ls -l /sbin/ip
-rwsr-xr-x. 1 root root 466560 Apr 11 2018 /sbin/ip
[root@node1 ~]# ls -l /usr/sbin/ip
-rwsr-xr-x. 1 root root 466560 Apr 11 2018 /usr/sbin/ip
[root@node1 ~]# su - postgres
Last login: Tue Sep 20 12:45:23 CST 2022 on pts/0
[postgres@node1 ~]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.59.26 netmask 255.255.255.0 broadcast 192.168.59.255
inet6 fe80::df6d:b5c7:c8a3:3f83 prefixlen 64 scopeid 0x20<link>
inet6 fe80::247:58b0:73c9:226e prefixlen 64 scopeid 0x20<link>
inet6 fe80::701e:b728:2872:9246 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:89:8e:54 txqueuelen 1000 (Ethernet)
RX packets 567 bytes 44810 (43.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 325 bytes 33326 (32.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[postgres@node1 ~]$ ip addr add 192.168.59.66/24 dev ens160 label ens160:0
[postgres@node1 ~]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.59.26 netmask 255.255.255.0 broadcast 192.168.59.255
inet6 fe80::df6d:b5c7:c8a3:3f83 prefixlen 64 scopeid 0x20<link>
inet6 fe80::247:58b0:73c9:226e prefixlen 64 scopeid 0x20<link>
inet6 fe80::701e:b728:2872:9246 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:89:8e:54 txqueuelen 1000 (Ethernet)
RX packets 605 bytes 47724 (46.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 347 bytes 36722 (35.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens160:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.59.66 netmask 255.255.255.0 broadcast 0.0.0.0
ether 00:0c:29:89:8e:54 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[postgres@node1 ~]$ ip addr del 192.168.59.66/24 dev ens160
[postgres@node1 ~]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.59.26 netmask 255.255.255.0 broadcast 192.168.59.255
inet6 fe80::df6d:b5c7:c8a3:3f83 prefixlen 64 scopeid 0x20<link>
inet6 fe80::247:58b0:73c9:226e prefixlen 64 scopeid 0x20<link>
inet6 fe80::701e:b728:2872:9246 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:89:8e:54 txqueuelen 1000 (Ethernet)
RX packets 693 bytes 55438 (54.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 421 bytes 45302 (44.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
目录