ubuntu visudo,ubuntu-desktop

今天给各位分享ubuntu visudo的知识,其中也会对ubuntu-desktop进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Linux/Ubuntu sudo不用输入密码的方法

打开上网客户端、新立得,这些涉及到系统的都要输入密码,对于我们大多数人来说,用Linux无非是做桌面应用,对安全性没必要搞得跟服务器一些。

解决办法一:

在启动时进入安全模式,这时是用root登录的,执行:

chmod 740/etc/sudoers

然后打开/etc/sudoers这个文件,把最后一行:

%admin ALL=(ALL)

  改为

  %%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

保存退出。

执行:

  chmod 0440/etc/sudoers

reboot your ubuntu.OK!

解决方法二:

Ubuntu默认不能直接用root帐户登录,必须从第一个创建的用户(既安装时创建的那个用户)通过su或sudo来获得root权限。在Ubuntu中对系统进行操作很多时候都要使用这个命令,由此可见对于新来说很有必要来认识这个命令。这或许不太方便,但这样增加了安全性,避免用户由于误操作而损坏系统。

sudo

  格式:sudo [其它命令]

sudo既为Super user do的意思。sudo在这个过程中只起一个调用root用户的作用,本次操作完成后,其作用就消失,如果要使用调用root权限操作的命令就必须再次使用sudo。些过程中系统会要求用户输入密码,此密码就是安装系统时你输入你那个密码,注意:这个密码在输入你时候不会像在Windows里输密码那样输入一位密码就有一个*号,这样的目的就是为了使密码更安全,因为不知道你密码有几位这样无疑给密码破译者增加了难度。:)

例:

我们要更改当前目录下upload.tar.gz的权限就要用到sudo。如果还要对当前目录下的另外一个文件eva.tar.gz更改权限就要再次用到sudo。

ownlinux@server:/var/www$ sudo chmod 777 upload.tar.gz

  [sudo] password for ownlinux:(此时输入你的密码)

  ownlinux@server:/var/www$ sudo chmod 777 eva.tar.gz

  [sudo] password for ownlinux:

补充:

通常我们并不以root身份登录,但是当我们执行某些命令(command)时需要用到root权限,我们通常都是用"sudo command"来执行command。由于使用Ubuntu,所以经常都都用sudo,而使用sudo时,又得输入密码,所以我就寻找sudo不输入密码的方法。前阵子google了一下,很容容易找到一个方法,但是对其不够理解,今天,仔细研究了一下/etc/sudoers这个文件,对于如何实现自己的需求就非常清楚了。网上说看到的资料往往写得不清楚,所以我根据自己的需求好好整理了一下。

假设我的用户名为jay(属于 admin组),使sudo不用密码的方法如下。

  运行命令:sudo visudo或者 sudo vi/etc/sudoers,如果vi来编辑,则保存时记得用"wq!"强制保存,否则会提示只读不能保存的。

  就会编辑/etc/sudoers这个文件。默认情况我们会看到有"%admin ALL=(ALL) ALL"一句话,就是允许admin组在所有主机上执行所有命令,当然是需要passwd的。

1.如果想把admin组的用户都sudo不用密码那么可以将这一行换为:"%admin ALL=(ALL) NOPASSWD: NOPASSWD ALL"即可。

  2.如果仅仅想让jay用户sudo不需密码,则可添加"jay ALL= NOPASSWD: ALL"这样一行。

  3.如果让jay用户sudo不用密码即可执行某几个命令,可这样写"jay ALL= NOPASSWD:/usr/bin/abc.sh,/usr/sbin/adduser"

  4.欲知其他更多配置方式,请运行"man sudoers"看帮助文档吧。

注意:我自己的一个配置没生效,找原因还找了阵子,写到这里吧。

我添加"jay ALL= NOPASSWD: ALL"这样一行;但是,jay执行sudo时还是需要输入密码,这是为什么?

原来是,我这一行在"%admin ALL=(ALL) ALL"组策略之前前,后面的组配置覆盖了前面的配置,而jay属于admin组,所以需要密码。

这时,只需要将%admin行用#注释掉即可。OK!然后立马就生效了,可能执行sudo时系统都会去读取/etc/sudoers的,所以立即就生效了。

另外,附带公司某服务器的一个/etc/sudoers配置:

复制代码

  

代码如下:

Defaults env_reset

  Defaults syslog=auth

  Defaults log_year,logfile=/var/log/sudo.log

  User_Alias ABC= abc

  Cmnd_Alias DEFAULT=/bin/*,/sbin/ldconfig,/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel,/bin/rpm,/usr/bin/yum,/sbin/service,/sbin/chkconfig,sudoedit/etc/rc.local,sudoedit/etc/hosts,sudoedit/etc/ld.so.conf,/bin/mount,sudoedit/etc/exports,/usr/bin/passwd [!-]*,!/usr/bin/passwd root,/bin/su- [!-]*,!/bin/su- root,!/bin/su root,/bin/bash,/usr/sbin/dmidecode,/usr/sbin/lsof,/usr/bin/du,/usr/bin/python,/usr/sbin/xm,sudoedit/etc/profile,sudoedit/etc/bashrc,/usr/bin/make,sudoedit/etc/security/limits.conf,/etc/init.d/*,/usr/bin/ruby

  ABC ALL=(ALL)NOPASSWD:DEFAULT

通过修改/etc/sudoers

sudo vi/etc/sudoers

把/etc/sudoers里面最后一行

%admin ALL=(ALL)

改为

%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

然后强制保存 wq就OK

上面说的并不准确,要注意以下几点。

编辑/etc/sudoers文件使用“超级用户终端”,而不能使用普通的终端。“超级用户终端”启动通过右键“编辑菜单”命令添加。

编辑完之后使用wq!而不是wq退出

Ubuntu/Debian系统中 Linux服务器的初步配置流程

本文记录配置Linux服务器的初步流程,也就是系统安装完成后,下一步要做的事情。这主要是我自己的总结和备忘,如果有遗漏,欢迎大家补充。

下面的操作针对Debian/Ubuntu系统,其他Linux系统也类似,就是部分命令稍有不同。

第一步:root用户登录

首先,使用root用户登录远程主机(假定IP地址是128.199.209.242)。

ssh root@128.199.209.242

这时,命令行会出现警告,表示这是一个新的地址,存在安全风险。键入yes,表示接受。然后,就应该可以顺利登入远程主机。

接着,修改root用户的密码。

passwd

第二步:新建用户

首先,添加一个用户组(这里假定为admin用户组)。

addgroup admin

然后,添加一个新用户(假定为bill)。

useradd-d/home/bill-s/bin/bash-m bill

上面命令中,参数d指定用户的主目录,参数s指定用户的shell,参数m表示如果该目录不存在,则创建该目录。

接着,设置新用户的密码。

passwd bill

将新用户(bill)添加到用户组(admin)。

usermod-a-G admin bill

接着,为新用户设定sudo权限。

visudo

visudo命令会打开sudo设置文件/etc/sudoers,找到下面这一行。

root   ALL=(ALL:ALL) ALL

在这一行的下面,再添加一行。

root   ALL=(ALL:ALL) ALLbill   ALL=(ALL) NOPASSWD: ALL

上面的NOPASSWD表示,切换sudo的时候,不需要输入密码,我喜欢这样比较省事。如果出于安全考虑,也可以强制要求输入密码。

root   ALL=(ALL:ALL) ALLbill   ALL=(ALL:ALL) ALL

然后,先退出root用户的登录,再用新用户的身份登录,检查到这一步为止,是否一切正常。

exitssh bill@128.199.209.242

第三步:SSH设置

首先,确定本机有SSH公钥(一般是文件~/.ssh/id_rsa.pub),如果没有的话,使用ssh-keygen命令生成一个(可参考我写的SSH教程)。

在本机上另开一个shell窗口,将本机的公钥拷贝到服务器的authorized_keys文件。

cat~/.ssh/id_rsa.pub| ssh bill@128.199.209.242'mkdir-p.ssh cat-~/.ssh/authorized_keys'#或者在服务器端,运行下面命令echo"ssh-rsa [your public key]"~/.ssh/authorized_keys

然后,进入服务器,编辑SSH配置文件/etc/ssh/sshd_config。

sudo cp/etc/ssh/sshd_config~sudo nano/etc/ssh/sshd_config

在配置文件中,将SSH的默认端口22改掉,可以改成从1025到65536之间的任意一个整数(这里假定为25000)。

Port 25000

然后,检查几个设置是否设成下面这样,确保去除前面的#号。

Protocol 2PermitRootLogin noPermitEmptyPasswords noPasswordAuthentication noRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile.ssh/authorized_keysUseDNS no

上面主要是禁止root用户登录,以及禁止用密码方式登录。

接着,在配置文件的末尾,指定允许登陆的用户。

AllowUsers bill

保存后,退出文件编辑。

接着,改变authorized_keys文件的权限。

sudo chmod 600~/.ssh/authorized_keys chmod 700~/.ssh/

然后,重启SSHD。

sudo service ssh restart#或者sudo/etc/init.d/ssh restart

下面的一步是可选的。在本机~/.ssh文件夹下创建config文件,内容如下。

Host s1HostName 128.199.209.242User billPort 25000

最后,在本机另开一个shell窗口,测试SSH能否顺利登录。

ssh s1

第四步:运行环境配置

首先,检查服务器的区域设置。

locale

如果结果不是en_US.UTF-8,建议都设成它。

sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8sudo dpkg-reconfigure locales

然后,更新软件。

sudo apt-get updatesudo apt-get upgrade

最后,再根据需要,做一些安全设置,比如搭建防火墙,关闭HTTP、HTTPs、SSH以外的端口,这里就不一一介绍了,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。

UbuntuLinux/sudo没有输入密码的方法

在Linux系统中,特别是Ubuntu,使用sudo命令时常常需要输入密码,但这有时可能给用户带来不便。尤其是当你作为管理员用户希望执行某些无需密码确认的操作时。解决这一问题的方法在于修改系统的sudoers配置文件,以允许特定用户或组在执行sudo命令时无需输入密码。以下是一个详细的步骤指南,帮助你实现这一目标。

首先,使用root权限启动并进入sudoers配置文件编辑模式。你可以通过在终端中输入以下命令来实现:

sudo visudo或 sudo vi/etc/sudoers

这将启动文本编辑器(默认为visudo,或你之前设置的编辑器),允许你修改sudoers文件。

在编辑器中,找到并修改最后一行,将“%admin all=(all)”更改为“%admin all=(all) nopasswd:nopasswd:所有”。这行代码定义了所有admin组的用户执行任何操作时都不需要密码。请注意,这里的“所有”指的是所有命令和所有系统资源。

如果你只想允许特定用户如“Jay”在不输入密码的情况下使用sudo,你可以在文件中添加一行类似于“Jay=nopasswd:所有”的代码。这样,Jay用户就能在执行sudo命令时无需输入密码。

为了更精细地控制权限,你可以指定特定命令和操作。例如,如果你想让Jay用户在不输入密码的情况下执行“abc.sh”脚本或“adduser”命令,可以添加“Jay=nopasswd:/usr/bin/abc.sh,/usr/sbin/adduser”这样的行。

完成修改后,确保保存并退出编辑器。通常,你只需按“WQ”组合键保存并关闭文件。这样,你的sudoers配置就已更新,允许了特定用户或组在执行sudo命令时无需密码确认。

需要特别注意的是,修改sudoers文件时应谨慎行事,因为这直接影响了系统的安全设置。确保在进行修改前理解你所做的更改的潜在影响。

此外,为了确保你的修改生效,重启系统是必要的。重启后,系统将应用新的sudoers配置,Jay用户现在就可以在执行sudo命令时无需密码确认了。

在进行任何系统配置修改后,确保测试关键功能以确保一切按预期工作。这样可以避免因配置错误导致的问题,同时确保系统的稳定性和安全性。

阅读剩余
THE END