Debian中安装使用sudo命令

sudo可以让非root用户具有管理员的权限,安装好的Debian后还不能使用sudo,需要使用root用户登陆后安装sudo命令。
#apt-get install sudo
安装后,就可以给你的帐号设置管理员权限了
#vim /etc/sudoers
添加一行 username ALL=(ALL) ALL #这里的username就是你要给予一定权限的用户

然后保存,退出root,然后使用username用户登陆。应该就有sudo权限了。

 

##########################################################################################

用过Ubuntu的apt-get的人都用过sudo命令,因为这是获取root权限最为简单高效的方法,也是Ubuntu推荐的方式。

而Ubuntu是从Debian演化而来的,单位的服务器被我装上了lenny(Debian 5.0 codename),最开始居然没有sudo。这怎么配置阿?google了一下发现Debian果然是能学到东西的。原来Debian本着安全的原则,默认只安装系统最为基础的包(这个理念和Ubuntu的偏向易用性不同,软件包越少,出现漏洞的可能性越小)。

所以sudo就被列入了需要用户自己安装的软件行列。闲话说了不少,来看看如何安装。

由于没有sudo,所以sudo的安装需要你以root身份登录,提示符为#。

#apt-get install sudo

稍等几秒就下载安装完成了,如果提示你插入光盘,就把/etc/apt/source.list中的有关cdrom的行注释掉,强制从网络下载安装包。安装完成后要修改一下sudo的配置文件/etc/sudoers,给你的用户授权。这里以你的用户名为richardma为例,因为我的叫这个~~

由于/etc/sudoers是r--r-----的权限设置,所以你不可能修改这个文件,先要给文件加上写权限,由于你是root身份,所以这易如反掌:

#chmod 640 /etc/sudoers

接着在sudo的配置文件/etc/sudoers加入一行:

richardma ALL=(ALL) ALL

最后别忘了把文件权限改回来,要不sudo运行的时候会抗议的~~

#chmod 440 /etc/sudoers

深入讨论:
如果需要对多个用户授予使用sudo的权力,那么你可以考虑创建一个用户组,进而在/etc/sudoers文件中给这个组授权,下面以给admin组授权为例。

只需在/etc/sudoers中添加如下一行即可:

%admin ALL=(ALL)ALL

其实这个方法是从Ubuntu的默认/etc/sudoers中学来的,哈哈哈哈~~会了吧~~
开始改造你的Debian吧~~

 

#####################################################################################################

 

sudo可以让非root用户具有管理员的权限,安装好的Debian(ubuntu同样适用)后还不能使用sudo,需要使用root用户登陆后安装sudo命令。
#apt-get install sudo
安装后,就可以给你的帐号设置管理员权限了
#vim /etc/sudoers
添加一行 username ALL=(ALL) ALL #这里的username就是你要给予一定权限的用户
然后保存,退出root,然后使用username用户登陆。应该就有sudo权限了。


一、配置sudo
正如你看到的,/etc/sudoers是sudo的配置文件,它主要分为别名设置与权限设置两大部分。

1、别名设置
别名主要分成4种,分别是:
1)Host_Alias 主机别名,就是主机的列表
如:Host_Alias HOST_FLAG = hostname1, hostname2, hostname3
2)Cmnd_Alias 命令别名,就是允许执行的命令的列表
如:Cmnd_Alias COMMAND_FLAG = command1, command2, command3
3)User_Alias 用户别名,就是具有sudo权限的用户的列表
如:User_Alias USER_FLAG = user1, user2, user3
4)Runas_Alias Runas别名,就是用户以什么身份执行(例如root,或者oracle)的列表
如:Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
别名格式是:Alias_Type NAME = item1, item2, ……

2、权限设置
首先看看授权规则:
格式: 授权用户 主机 = [(目的用户)] [NOPASSWD:] 命令列表
如:tony ALL=(ALL) NOPASSWD:ALL
其中NOPASSWD是指不需要密码验证

这里给一个配置例子:

# groups
User_Alias ROOT=user1,user2,user3
User_Alias WEBMASTERS=user4,user5,user6
# commands
Cmnd_Alias APACHE=/usr/local/sbin/kickapache
Cmnd_Alias TAIL=/usr/bin/tail
Cmnd_Alias SHUTDOWN=/sbin/shutdown
Cmnd_Alias APT=/usr/bin/apt-get,/usr/bin/dpkg 
# privileges
ROOT ALL=(ALL)ALL
WEBMASTERS ALL=PASSWD:APACHE,TAIL
admin ALL=NOPASSWD:/etc/init.d/apache


二、sudo命令帮助

使用方式:
sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command

说明:
以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就似乎是 root 亲自执行

参数:
-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-l 显示出自己(执行 sudo 的使用者)的权限
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,假如超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 能够更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,能够以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
范例:
sudo -l 列出现在的权限
sudo -V 列出 sudo 的版本资讯

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值