当前位置:首页 » 操作系统 » passwordforlinux

passwordforlinux

发布时间: 2022-11-20 23:04:05

linux下sudo不要密码怎么实现

解决办法一:

在启动时进入安全模式,这时是用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/adser"
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/,/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文件使用“超级用户终端”,而不能使用普通的终端。“超级用户终端”启动通过右键“编辑菜单”命令添加。

❷ Linux操作系统的密码将如何破解

一般来说有两种方法能够修改root密码:
1.
进入单用户模式修改密码
对于lilo,在启动时输入
代码:
boot:
linux
single
对于grub,
在启动时输入“e”编辑启动项,在“kernel
xxx”行末尾加“single”
代码:
kernel
/boot/lfskernel-2.6.8.1
root=/dev/hda2
ro
single
启动后root将不会提示密码,输入passwd能够重新配置密码
但是有一些特别的
init
使得这一方法可能不那么顺利,比如会出现以下提示(或其他古怪信息):
代码:
Give
root
password
for
maintenance
(or
type
Control-D
for
normal
startup)
那么就需要直接使用
bash
而不是系统的
init
:
代码:
#对于lilo:
boot:
linux
init=/bin/bash
对于grub:
kernel
/boot/lfskernel-2.6.8.1
root=/dev/hda2
ro
init=/bin/bash
启动后会得到一个
root
shell
,
但硬盘是只读的,
需要重新加载:
代码:
#
mount
-o
remount,rw
/
....
做您想做的事吧,
比如
vi
/etc/passwd
....
#
mount
-o
remount,ro
/
能够重新启动了
2.:加载系统分区修改密码(适用于启动管理器有密码保护的情况)
能够使用其他linux
LiveCD(如Knoppix和RedHat安装盘的rescue模式)启动,加载系统所在的分区:
代码:
mount
/dev/hda2
/mnt
然后直接修改/mnt/etc/passwd,清空其中的password项

代码:
chroot
/mnt
passwd
配置新密码

❸ 如何分析udp报文,从而获取源地址

1、写了一个UDP 的小程序,有一个UDP 的server,而且有UDP的client。
然后执行server和client,然后用tcpmp将该端口的UDP数据报文抓取出来。
执行的过程是这样的。
client向server发送"xiyou"
server向client应答"wangzhe"
client程序在主机example上运行(192.168.1.144)
server程序在主机linux上运行(192.168.1.101)
------------------------------------------------------------------------------------------------------------
2、UDP数据报文。

linux@linux:~$ sudo tcpmp -vvv -X udp port 7777
[sudo] password for linux:
tcpmp: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:03:01.923227 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 48)
example.local.43521 > linux.7777: [udp sum ok] UDP, length 20
0x0000: 4500 0030 0000 4000 4011 b677 c0a8 0190 E..0..@[email protected]....
0x0010: c0a8 0165 aa01 1e61 001c 4c34 7869 796f ...e...a..L4xiyo
0x0020: 7500 0000 0000 0000 0000 0000 0000 0000 u...............
11:03:01.923343 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 48)
linux.7777 > example.local.43521: [bad udp cksum 6869!] UDP, length 20
0x0000: 4500 0030 0000 4000 4011 b677 c0a8 0165 E..0..@[email protected]
0x0010: c0a8 0190 1e61 aa01 001c 8473 7761 6e67 .....a.....swang
0x0020: 7a68 6500 0000 0000 0000 0000 0000 0000 zhe.............
由上面的报文可知,有两个UDP数据报文。
第一个报文是example主机上的client向server发送数据。
4500 0030 0000 4000 4011 b677 c0a8 0190 c0a8 0165 这20个数据是IP首部。
aa01 1e61 001c 4c34 这8个字节是UDP的首部。
7869 796f 7500 0000 0000 0000 0000 0000 0000 0000 这20个数据是我用sendto函数发送的
数据。

而将char req[20] = "xiyou" 的ASCII码(16进制)就是:
78 69 79 6f 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

第二个报文是linux向主机example做出的应答。
4500 0030 0000 4000 4011 b677 c0a8 0165 c0a8 0190 这20个数据是IP首部。
1e61 aa01 001c 8473 这8个字节是UDP首部。
7761 6e67 7a68 6500 0000 0000 0000 0000 0000 0000 这20个数据是应用层的数据。

而将char reply[20] = "wangzhe"的ASCII码(16进制)就是:
77 61 6e 67 7a 68 65 0 0 0 0 0 0 0 0 0 0 0 0 0

由此看出,应用层的数据没有夹杂其他的参数,全部是数据,均是字符的ASCII码。
-----------------------------------------------------------------------
附带网络程序:
udp_server.c

#include <stdio.h>

#include <stdlib.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <sys/types.h>

#include <string.h>

int main(void)

{

struct sockaddr_in server,client;

int sockfd;

int cli_len = 0,n;

char req[20] = {0},reply[20] = {0};

sockfd = socket(AF_INET,SOCK_DGRAM,0);

if (sockfd < 0) {

perror("socket error!\n");

exit(-1);

}

memset(&server,0,sizeof(struct sockaddr_in));

server.sin_family = AF_INET;

server.sin_addr.s_addr = htonl(INADDR_ANY);

server.sin_port = htons(7777);

if (bind(sockfd,(struct sockaddr *)&server,sizeof(server)) < 0) {

perror("bind error!\n");

exit(-1);

}

for (;;) {

cli_len = sizeof(struct sockaddr_in);

n = recvfrom(sockfd,req,20,0,(struct sockaddr *)&client,&cli_len);

if (n < 0) {

perror("recvfrom error!\n");

exit(-1);

}

printf("hello!\n");

strncpy(reply,"wangzhe",sizeof("wangzhe"));

if (sendto(sockfd,reply,20,0,(struct sockaddr *)&client,sizeof(client)) != 20) {

perror("sendto error!\n");

exit(-1);

}

}

return 0;

}
-----------------------------------------------------------------------------------------------------------
udp_client.c

#include <stdio.h>

#include <stdlib.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <sys/types.h>

#include <string.h>

int main(void)

{

int sockfd,n;

struct sockaddr_in server;

char req[20]={0},reply[20]={0};

sockfd = socket(AF_INET,SOCK_DGRAM,0);

if (sockfd < 0) {

perror("socket error!\n");

exit(-1);

}

memset(&server,0,sizeof(server));

server.sin_family = AF_INET;

server.sin_addr.s_addr = inet_addr("192.168.1.101");

server.sin_port = htons(7777);

strncpy(req,"xiyou",sizeof("xiyou"));

printf("sendto req to server:%s\n",req);

if (sendto(sockfd,req,20,0,(struct sockaddr *)&server,sizeof(server)) != 20) {

perror("sendto error!\n");

exit(-1);

}

if ((n = recvfrom(sockfd,reply,20,0,(struct sockaddr *)NULL,(int *)NULL)) < 0) {

perror("recvfrom error!\n");

exit(-1);

}

printf("recv reply from server :%s\n",reply);

exit(0);

}
--------------------------------------------------------------------------------------------------------

❹ linux 终端中PASSWORD为什么输不进去

LINUX输入密码不是输入不进去,输入完密码后点回车键,系统自动接收你的密码。只要继续输入没有输入错误的,最后输入完按回车键就能自动进入用户了。

他只是不显示,不存在输入不进去的情况。

(4)passwordforlinux扩展阅读:

切换用户命令:#su 用户名称, 然后输入password后输入密码就可以了

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。

cp个命令相当于dos下面的命令,具体用法是:cp –r源文件(source) 目的文件(target)

rm移除文件命令

mv这个命令的功能是移动目录或文件

cat查看文件命令,显示文件内容的命令

❺ red hat linux 9.0 password for root

自己的用户名能干很少的事情,linux账户管理非常严格,这也是病毒少的原因
涉及改变/home/XXX以外的目录和文件时都要用到root账户
输入密码时为保密,屏幕上是没有任何变化的,输好后直接回车就行
一般先用
su登录root用户
再做修改

❻ linux:如何修改用户的密码

Linux修改密码用 passwd 命令,用root用户运行passwd ,passwd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。
[root@localhost ~]# passwd ##修改root用户密码
Changing password for user root..
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd hadoop ##修改hadoop用户密码
Changing password for user hadoop.
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.
passwd 常用参数如下:

-k ##keep-tokens keep non-expired authentication tokens 注:保留即将过期的用户在期满后能仍能使用;
-d ##delete delete the password for the named account (root only) 注:删除用户密码,仅能以root权限操作;
-l ##lock lock the named account (root only) 注:锁住用户无权更改其密码,仅能通过root权限操作;
-u ##unlock unlock the named account (root only) 注:解除锁定;
-f ##force force operation 注:强制操作;仅root权限才能操作;
-x ##maximum=DAYS maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
-n ##minimum=DAYS minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
-w ##warning=DAYS 注:在距多少天提醒用户修改密码;仅能root权限操作;
-i ##inactive=DAYS 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
-S ##status report password status on the named account (root only) 注:查询用户的密码状态,仅能root用户操作;
更多Linux知识可参考《Linux就该这么学》。

❼ Ubuntu下怎么设置Root超级账户密码

1、用当前登录用户打开终端,在终端输入命令 sudo passwd,输入当前用户的密码然后回车

2、会提示输入新密码,输入完成后回车
3、然后提示再输入一次新密码以确认,然后回车,设置成功
linuxidc@ubuntu:~$ sudo passwd
[sudo] password for linuxidc:
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
linuxidc@ubuntu:~$
注意:这个新密码就是root的密码,可以与当前用户的密码不同。
在终端中输入 su root,然后输入root的密码,验证成功即可切换到root用户。在root用户下做完操作后,用exit命令即可退出root用户,退回当前登陆用户。

❽ 在linux shell中输入setup 弹出password for root 但密码输不进去该咋办

这是linux的输入风格

即输入密码的时候光标不移动也不显示星号

所以你看上去输不进,其实已输入了。所以你只要正常输入,最后按回车就行了。

❾ [sudo] password for *** 后面怎么输不起密码

[sudo] password for *** 后面输不上密码,是设置错误造成的,解决方法如下:

1、首先启动Ubuntu,有图形界面的,启动终端即可。

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:333
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:374
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:610
java用什么软件写 发布:2025-05-18 03:56:19 浏览:31
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:106
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:940
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:737
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:801
网卡访问 发布:2025-05-18 03:35:04 浏览:507
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:370