如果有这样一个需求,linux 的其他用户(普通用户)要查看你的日志文件,但是你又不想让他使用其他命令
那就要使用 sudo 了,授权指定用户使用命令了
```bash
### 打开配置文件 这个命令等于 vi /etc/sudoers
visudo
```
找到下面这行,这行的意思是 root 用户授权全部命令
root ALL=(ALL) ALL
我们添加了一个用户 chen
useradd chen
passwd 123456
这就是我们看日志的用户,我们想让他只使用 cat 和 less 命令 (建议加上 /bin/)
chen ALL=(ALL) /bin/cat,/bin/less
多个命令直接用逗号隔开
我们登录用户 chen
使用 sudo -l 看看
Matching Defaults entries for chen on localhost:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL
PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC
LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User chen may run the following commands on localhost:
(ALL) /bin/cat
这一大串看的人头皮发麻,但是前面的基本可以忽略,看最后两行
意思就是
使用者 chen 可以在本地主機上執行以下命令:
/bin/cat
/bin/less
我们来试试命令
sudo cat /var/log/messages
发现可以正常使用
我们来试试没有授权的命令
sudo more /var/log/messages
输入命令之后显示
Sorry, user chen is not allowed to execute '/bin/more /var/log/messages' as root on localhost.localdomain.
意思就是:抱歉,使用者 chen 不允許在 localhost.localdomain 上以根使用者身份執行 '/bin/more /var/log/messages'。
Comments NOTHING