我正在尝试编写一个通用的sudoers文件来控制我们所有环境中的所有用户的权限,并且我一直使用通配符来表示主机名(所有数据都是匿名的)
Host_Alias stg01 = *.stg01.sfo.acme.com Host_Alias stg02 = *.stg02.sfo.acme.com Host_Alias stg03 = *.stg03.sfo.acme.com Host_Alias prod = *.prod.aus.acme.com, *.prod.nyc.acme.com Host_Alias prod02 = *.prod02.aus.acme.com, *.prod02.nyc.acme.com Host_Alias prod03 = *.prod03.nyc.acme.com Host_Alias db01 = *.db01.sfo.acme.com Host_Alias db02 = *.db02.sfo.acme.com Host_Alias db03 = *.db03.sfo.acme.com Host_Alias hi02 = *.hi02.sfo.acme.com Host_Alias env1 = mgmt02.stg01.sfo.acme.com, *.hiho.sfo.acme.com Host_Alias env2 = *.prod.aus.acme.com, *.prod.nyc.acme.com, *.stg01.sfo.acme.com, *.prod02.aus.acme.com, *.prod02.nyc.acme.com, *.hiho.sfo.acme.com Host_Alias testhosts = ws1.prod.aus.acme.com, ws2.prod.nyc.acme.com, ws1.prod.aus.acme.com, ws2.prod.nyc.acme.com Host_Alias env3 = mgmt01.stg01.sfo.acme.com, *.hiho.sfo.acme.com Host_Alias env4 = *.prod.aus.acme.com, *.prod.nyc.acme.com, *.stg01.sfo.acme.com Host_Alias env5 = *.prod.aus.acme.com, *.prod.nyc.acme.com, *.stg01.sfo.acme.com, *.hiho.sfo.acme.comsfo
当我尝试时,我得到:
>>> sudoers file: syntax error, line 0 <<<
并一直重复到第16行。这是在运行sunOS 5.10的Solaris x86服务器上。
我做错什么了吗? 一个visudo -c -f在我的linuxtesting箱上很好,所以我很困惑。
任何想法,将不胜感激!
谢谢。
你有没有尝试运行没有通配符的主机,然后添加其中之一,看看是否得到了困扰? 这将清除是否允许在主机上使用通配符的问题。
我需要为所有主机别名使用大写字母。 所以STG01而不是stg01等:)