linux让指定文件具有sudo的权限,Linux学习笔记——使用指定的用户权限执行程序——sudo...

sudo可以用来以其他用户身份执行命令,sudo命令可以针对单个命令授予临时权限。sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性。

1:sudo的帮助信息如下:

[email protected]:~/桌面$ sudo --help

sudo - 以其他用户身份执行一条命令

usage: sudo -h | -K | -k | -V

usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]

usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user][command]

usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-pprompt] [-u user] [VAR=value] [-i|-s] []

usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-pprompt] [-u user] file ...

选项:

-A, --askpass 使用助手程序进行密码提示

-b, --background 在后台运行命令

-C, --close-from=num 关闭所有 >= num 的文件描述符

-E, --preserve-env 在执行命令时保留用户环境

-e, --edit 编辑文件而非执行命令

-g, --group=group 以指定的用户组或 ID 执行命令

-H, --set-home 将 HOME 变量设为目标用户的主目录。

-h, --help 显示帮助消息并退出

-h, --host=host 在主机上运行命令(如果插件支持)

-i, --login 以目标用户身份运行一个登录shell;可同时指定一条命令

-K, --remove-timestamp 完全移除时间戳文件

-k, --reset-timestamp 无效的时间戳文件

-l, --list列出用户权限或检查某个特定命令;对于长格式,使用两次

-n, --non-interactive 非交互模式,不提示

-P, --preserve-groups保留组向量,而非设置为目标的组向量

-p, --prompt=prompt 使用指定的密码提示

-r, --role=role 以指定的角色创建 SELinux 安全环境

-S, --stdin 从标准输入读取密码

-s, --shell 以目标用户运行shell;可同时指定一条命令

-t, --type=type 以指定的类型创建 SELinux 安全环境

-U, --other-user=user 在列表模式中显示用户的权限

-u, --user=user 以指定用户或 ID运行命令(或编辑文件)

-V, --version 显示版本信息并退出

-v, --validate 更新用户的时间戳而不执行命令

-- 停止处理命令行参数

2:有关sudo需要注意的地方

注意sudo命令是用来以其他身份来执行命令的,其预设的身份为root(也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行的一样)。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

[email protected]:~/桌面$ vim /etc/sudoers

/etc/sudoers" [权限不足]

[email protected]:~/桌面$ sudo vim /etc/sudoers

[sudo] password for qian:

[email protected]:~/桌面$ sudo vim /etc/sudoers

从实验中我们发现,首先,我们使用vim命令尝试编辑 /etc/sudoers,系统提示我们“权限不足”。然后,我们试着加上sudo再尝试。sudo要求我们提供用户密码。请注意:它要求你提供的是你的密码,而不是root的密码。最后,我们打开了 /etc/sudoers 这个文件。就这样,我们相当于在不知道root用户密码的情况下,执行了只有root用户才能操作的命令,是不是很好玩。

3:给用户添加sudo权限

要使用sudo,用户必须被定义在 /etc/sudoers 内才可以的。

方法一如下:

1:进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)

2:添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。

3:编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。

4:撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。 然后就行了。

方法二如下:

配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。

4:有关sudo其他比较有益的文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值