Linux更改用户密码
Linux(CentOS)用户修改密码有效期(chage命令)
Linux(CentOS)⽤户修改密码有效期(chage命令)Linux设置⽤户密码的有效期限解决:先查看密码过期时间,现在是90天[root@01 ~]# chage -l testuserLast password change : Jul 10, 2017Password expires : Oct 08, 2018Password inactive : neverAccount expires : neverMinimum number of days between password change : 0Maximum number of days between password change : 90Number of days of warning before password expires : 10 ⽤命令修改过期时间为永久,然后查看Password expires : never 和 Maximum number of days between password change : 99999修改成功[root@01 ~]# chage -M 99999 testuser[root@01 ~]# chage -l testuserLast password change : Jul 10, 2017Password expires : neverPassword inactive : neverAccount expires : Oct 16, 2243Minimum number of days between password change : 0Maximum number of days between password change : 99999Number of days of warning before password expires : 10 补充知识=================== chage命令⽤法: ================================================chage:密码失效是通过此命令来管理的。
linux常用口令
linux常用口令
在Linux 中,口令通常是指用户的登录密码。
以下是一些与Linux 用户口令相关的常用命令和操作:
1. 用户口令管理:
更改用户口令:
passwd
为指定用户更改口令:
sudo passwd username
2. 用户管理:
创建新用户:
sudo adduser username
删除用户:
sudo deluser username
3. 系统安全:
查看系统登录记录:
last
查看登录失败记录:
grep 'Failed password' /var/log/auth.log
4. 系统安全设置:
更改 SSH 默认端口(提高安全性):
修改 /etc/ssh/sshd_config 中的 Port 配置项,然后重启 SSH 服务。
禁用 root 用户登录:
修改 /etc/ssh/sshd_config 中的 PermitRootLogin 配置项为no,然后重启 SSH 服务。
使用公钥身份验证登录:
将用户的公钥添加到 ~/.ssh/authorized_keys 文件中。
启用防火墙:
使用 ufw 或 iptables 配置防火墙规则,限制对系统的访问。
以上是一些与 Linux 用户口令和系统安全相关的常用命令和设置。
请注意,对系统进行任何更改前,请确保你具有足够的权限并理解潜在的影响。
linuxmysql修改密码命令
linux mysql修改密码命令想知道linux下怎么修改密码吗?下面由店铺为大家整理了linux mysql修改密码命令,希望大家喜欢!linux mysql修改密码命令1.修改root密码linux mysql修改密码命令方法1:使用mysqladmin命令--适用于记得root旧密码,修改root密码语法:mysqladmin -u用户名 -p旧密码 password 新密码例如:# mysqladmin -u root -proot password mysql--注意:如当旧密码输入错误时会报如下错误# mysqladmin -u root -proot1 password mysqlmysqladmin: connect to server at 'localhost' failederror: 'Access denied for user 'root'@'localhost' (using password: YES)'linux mysql修改密码命令方法2:直接更新user表password字段--适用于忘记root密码,而对root密码进行重置Step 1: 修改MySQL的登录设置# vi /etc/f--windows系统是my.ini文件--在[mysqld]的段中加上一句:skip-grant-tables,如没有[mysqld]字段,可手动添加上[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockskip-name-resolveskip-grant-tablesStep 2: 重新启动mysql[root@gc ~]# service mysql restartShutting down MySQL..[确定]Starting MySQL...[确定]Step 3: 登录并修改MySQL的root密码--此时直接用mysql即可无需密码即可进入数据库了[root@gc ~]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.5.24 MySQL Community Server (GPL)Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use mysql;Database changedmysql> update user set password=password('new_password') where user='root';Query OK, 5 rows affected (0.00 sec)Rows matched: 5 Changed: 5 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)--注意:如果没做step1,直接用mysql登录时会报如下错误[root@gc ~]# mysqlERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)Step 4: 将MySQL的登录设置修改回来再删除/etc/f文件中的skip-grant-tablesStep 5: 重新启动mysql[root@gc ~]# service mysql restartShutting down MySQL..[确定]Starting MySQL...[确定]2.修改mysql其它用户密码同样,普通用户也可以用上面的方法--使用mysqladmin命令[root@njdyw ~]# mysqladmin -u user1 -ppass1 password pass2--直接修改数据库表[root@njdyw ~]# mysql -u user1 -ppass1 –Dmysqlmysql> update user set password=password('pass2') where user='user1';mysql> flush privileges;。
linux修改用户密码的方法
linux修改用户密码的方法一、使用passwd命令修改当前用户密码1.1 这是最基本也是最常用的方法。
在Linux系统中,当你以某个用户身份登录后,如果想要修改自己的密码,只需要在终端中输入“passwd”这个命令就可以啦。
就像打开一扇通往安全之门的钥匙,简单又直接。
1.2 系统会提示你输入旧密码,这就像是一个小小的考验,确认你是这个账号的真正主人。
输入旧密码之后,再输入两次新密码。
注意哦,新密码在输入的时候可不能马虎,要确保两次输入的新密码完全一致,不然就会像竹篮打水一场空,还得重新来一遍。
二、以root身份修改其他用户密码2.1 当你是系统的超级用户(root)时,你就有了更大的权力,可以修改其他用户的密码。
这时候使用的命令是“passwd 用户名”。
比如说,要修改名为“user1”的用户密码,就在终端输入“passwd user1”。
这就好比你是一家之主,可以管理家里每个人的钥匙一样。
2.2 输入这个命令后,系统不会像修改当前用户密码那样要求输入旧密码,直接就可以设置新密码。
这时候你要谨慎设置哦,因为你掌握着别人账号安全的大权。
可不能稀里糊涂地乱设,不然就会捅娄子。
2.3 同样,新密码也要输入两次确保无误。
这就像是给新钥匙开模,得精准无误,这样才能保证这个用户之后能够顺利地登录系统,就像火车行驶在正确的轨道上一样。
三、忘记root密码的情况3.1 如果不幸忘记了root密码,这可有点麻烦,不过也不是没有办法。
首先得重启系统,在启动过程中进入单用户模式。
这就像是在黑暗中摸索着找到一条特殊的通道。
不同的Linux发行版进入单用户模式的方法可能会有所不同,但大致思路是一样的。
3.2 进入单用户模式后,就可以直接使用“passwd”命令来修改root密码了。
这就像是在迷路之后又重新找到了回家的路,重新设置一个容易记住且安全的密码,然后就可以正常登录系统,继续掌控你的Linux世界啦。
在Linux系统中修改用户密码是一项重要的操作,无论是为了自身账号的安全,还是管理其他用户的账号。
Linux下如何修改root密码以及找回root密码
Linux下如何修改root密码以及找回root密码Linux下修改root密码⽅法以root⾝份登陆,执⾏:passwd ⽤户名然后根据提⽰,输⼊新密码,再次输⼊新密码,系统会提⽰成功修改密码。
具体⽰例如下:[root@www ~]# passwd rootChanging password for user root.New UNIX password:BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password:passwd: all authentication tokens updated successfully.Linux下添加新⽤户的命令useradd ⽤户名Linux下root密码找回⽅法Linux的root享有⾄⾼⽆上的权⼒,⼀旦root密码忘记或者被盗,是⼀件⾮常头痛的事情,那么怎么样才能找回root的密码呢?本⼈把其总结如下:(⼀)Linux 系统密码破解1. 在grub选项菜单按e进⼊编辑模式2. 编辑kernel那⾏ /init 1 (或/single)3. 按B重启4. 进⼊后执⾏下列命令root@#passwd root (配置root的密码)Enter new unix password:输⼊新的密码root@#init 6(⼆)Debian linux 系统密码破解1. 在grub选项菜单’Debian GNU/Linux,…(recovery mode)’,按e进⼊编辑模式2. 编辑kernel那⾏⾯的 ro single 改成 rw single init=/bin/bash,按b执⾏重启3. 进⼊后执⾏下列命令root@(none)#mount -aroot@(none)#passwd rootroot@(none)#reboot(三)FreeBSD 系统密码破解1. 开机进⼊引导菜单2. 选择每项(按4)进⼊单⽤户模式3. 进⼊之后输⼊⼀列命令root@#mount -aroot@#fsck -yroot@#passwd(修改密码命令)root@#root(要破解密码的⽤户名)Enter new unix password:root@#init 6 (重启)(四)Solaris 系统密码破解 1. 在grub选项菜中选择solaris failasfe 项2. 系统提⽰Do you wish to have it mounted read-write on /a ?[y,n,?] 选择y3. 就进⼊单⽤户模式4. 输⼊下列命令#passwd#New passwd:输⼊新的密码#Re-enter New passwd:在次输⼊新的密码#init 6 (重启) (五)NetBsd 系统密码破解1.开机:当出现提⽰符号并开始倒数五秒时, 键⼊以下指令:> boot -s (进⼊单⽤户模式命令)2.在以下的提⽰符号中Enter pathname of shell or RETURN for sh:按下 Enter.3.键⼊以下指令:# mount -a# fsck -y4.使⽤ passwd 更改 root 的密码.5.使⽤ exit 指令进⼊多⼈模式.(六)debian linux系统密码破解1. 在Grub的引导装载程序菜单上,选择你要进⼊的条⽬,键⼊ “e” 来进⼊编辑模式;2. 在第⼆⾏(类似于kernel /vmlinuz-2.6.15 ro root=/dev/hda2 ),键⼊”e”进⼊编辑模式;3. 在句末加上”init=/bin/bash”,回车;4. 按“b”启动系统.这样我们即可获得⼀个bash的Shell,进⼊shell后,根分区的挂载模式默认是只读,我们要将其改为可写,否则不能更改root密码:mount -no remount,rw /passwd rootsyncmount -no remount,ro /reboot这样即可成功更改debian的root⽤户的密码.(七)1.在启动linux的时候按Ctrl X,在bash#提⽰符下输⼊linux single 或 linux 1,然后在bash# 输⼊ passwd root 就可以更改密码了! 设置完后#init 6 重启 OK.2.在启动linux的时候按Ctrl X,在bash#提⽰符下输⼊:vi etcpasswd,找到root,把⾥⾯的root:x:….的“x”删掉.就删除了密码!(⼋)⼀、关于lilo1. 在出现 lilo: 提⽰时键⼊ linux single 画⾯显⽰ lilo: linux single2. 回车可直接进⼊linux命令⾏3. ⽤password命令修改密码⼆、关于 grub1. 在出现grub画⾯时,⽤上下键选中你平时启动linux的那⼀项,然后按e键2. 再次⽤上下键选中你平时启动linux的那⼀项(类似于kernel/boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键3. 修改你现在见到的命令⾏,加⼊single,结果如下:kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ single4. 回车返回,然后按b键启动,即可直接进⼊linux命令⾏5. ⽤password命令修改密码(九)1. 把系统安装光盘插⼊,重启机器,启动时迅速按下Del键,进⼊CMOS,把启动顺序改为光盘先启动,这样就启动了Linux安装程序,按F5,按提⽰打⼊Linuxrescue回车,进⼊救援模式,接下来是选择语⾔及键盘,直接回车即可,程序提⽰已经把硬盘上的Linux系统安装到了/mnt/sysimage下,然后出现了超级⽤户提⽰符#.2. 进⼊到硬盘etc⽬录下:cd/mnt/sysimage/etc,先做备份防不测:cpshadowshadow.old修改shadow⽂件的属性为可写:chmod wshadow然后⽤vi修改之:找到含root⽤户信息的那⼀⾏:root:….:,前两个冒号之间就是加密的密码,把它删除掉(冒号不能删),存盘退出.这样root的密码就为空了.3. 不会⽤vi的⽤户可以采取如下⽅法:找⼀张DOS盘插⼊软驱,把Shadow拷贝到DOS盘上:mcopyshadowa:/然后在Windows下⽤附件中的记事本修改之,注意打开⽂件类型⼀定要选所有⽂件(*.*),存盘退出.再拷回:mcopya:/shadowmnt/sysimage/etc4. 把Shadow的属性改回只读:chmod-wshadow,输⼊Exit退出,取出光盘.为安全起见,重启后应在终端窗⼝中再给root加上密.。
Linux 使用命令关键字管理用户
Linux 使用命令关键字管理用户在使用图形化窗口管理用户以外,还可以使用更多的命令关键字来对用户进行管理,下面将介绍几种常用的命令关键字,来管理用户信息。
1.更改用户密码更改用户帐户的密码可以使用passwd命令,语法格式介绍如下,命令中的各参数介绍如表2所示:语法格式:表2 passwd命令参数介绍例如,在Linux系统中,设置wxb用户帐户的密码信息。
首先,在系统面板中,执行【应用程序】|【附件】|【终端】命令,打开【终端】窗口,如图11所示。
然后,输入“passwd whf”命令并按键,在提示“New UXIX password:”后,输入新的密码,并按键;其次,在弹出“Retype new UXIX password:”后,再次输入刚才的密码,并按键。
最后,将提示“passwd:all authentication tokens updated successfully.”信息,则表示密码已经修改成功,如图12所示。
图11 执行【终端】命令图12 修改用户密码当用户密码修改完成后,所更新的密码信息将加密放入“/etc/shdow”文件。
选取一个不易被破译的密码是很重要的。
选取密码应遵守如下规则:●密码应该至少有6位(最好是8位)字符。
●密码应该是大小写字母、标点符号和数字混杂的。
2.更改用户信息修改用户账户的各项设置和相关信息可以使用usermod命令,其语法格式如下,语法中的各参数介绍如表3所示。
语法格式:例如,在终端窗口中,使用usermod命令,将wang的用户名称更改为xiao。
首先,在系统页面中,执行【应用程序】|【附件】|【终端】命令,打开【终端】窗口。
然后,在【终端】窗口中,输入“usermod –l xiao wang”命令并按键,执行完成修改用户账号名称的操作,如图13所示。
图13 修改用户信息3.建立用户创建新的用户帐户,并且使用系统上的预设值可以使用useradd命令进行创建。
Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
Linux学习之CentOS(⼆⼗⼆)--单⽤户模式下修改Root⽤户的密码在上⼀篇随笔⾥⾯详细讲解了Linux系统的启动过程 (),我们知道Linux系统的启动级别⼀共有6种级别,通过 /etc/inittab 这个⽂件我们就能看到:[root@xiaoluo ~]# cat /etc/inittab# inittab is only used by upstart for the default runlevel.## ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## System initialization is started by /etc/init/rcS.conf## Individual runlevels are started by /etc/init/rc.conf## Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf## Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,# with configuration in /etc/sysconfig/init.## For information on how to write upstart event handlers, or how# upstart works, see init(5), init(8), and initctl(8).## Default runlevel. The runlevels used are:# 0 - halt (Do NOT set initdefault to this)# 1 - Single user mode# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT set initdefault to this)#id:5:initdefault:这⾥我们看到系统的默认启动级别是5,也就是有图形界⾯的那个。
LINUX中如何通过命令行来添加用户并设置密码
LINUX中如何通过命令行来添加用户并设置密码由于要在LINUX服务器上新建FTP账号.所以就在网上找了一些资料.后来才知道只要新建好USER就能对应上它的FTP.所以归根揭底只要新建好USER就OK.下面是新建USER的详解.我试过.说得很清楚.希望对大家有帮助.管理用户(user)的工具或命令;useradd 注:添加用户adduser 注:添加用户passwd 注:为用户设置密码usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;pwcov 注:同步用户从/etc/passwd 到/etc/shadowpwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和/etc/passwd 创建/etc/passwd ,然后会删除/etc/shadow 文件;finger 注:查看用户信息工具id 注:查看用户的UID、GID及所归属的用户组chfn 注:更改用户信息工具su 注:用户切换工具sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;visudo 注:visodo 是编辑/etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑/etc/sudoers 的效果是一样的;sudoedit 注:和sudo 功能差不多;2)管理用户组(group)的工具或命令;groupadd 注:添加用户组;groupdel 注:删除用户组;groupmod 注:修改用户组信息groups 注:显示用户所属的用户组grpckgrpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;///////////建立一个新用户建立一个新的用户包括两个步骤,第一步是使用useradd命令完成一个新用户的初始化设置工作;第二步是用passwd为这个新用户设置密码。
linux密码忘了怎么办
linux密码忘了怎么办?教你这5招,轻松找回Linux密码,再也不用烦恼!忘记Linux密码可能会让你感到困惑,但不用担心,你可以通过几种方法来解决这个问题。
下面是一些重置Linux密码的常见方法:1. 使用Root用户重置密码:-如果你有root用户的访问权限,你可以使用root用户来重置其他用户的密码。
-登录为root用户。
-使用`passwd`命令来更改其他用户的密码。
例如,要更改用户"username"的密码,可以运行`passwd username`。
-系统会提示你输入新的密码,然后确认密码。
2. 使用sudo重置密码:-如果你没有root用户的访问权限,但有sudo权限,你可以使用sudo命令来更改密码。
-打开终端。
-运行`sudo passwd username`,其中"username"是你要重置密码的用户名。
-系统会提示你输入新的密码,然后确认密码。
3. 使用Live CD或USB重置密码:-如果你无法访问系统,你可以使用Live CD或Live USB来重置密码。
-启动计算机,从Live CD或Live USB启动。
-打开终端,进入你的Linux分区。
-运行以下命令来挂载根分区(假设根分区为/dev/sda1):```sudo mount /dev/sda1 /mnt```-切换到根分区:```sudo chroot /mnt```-使用`passwd`命令来更改密码:```passwd username```-重新启动计算机,并从硬盘启动。
4. 使用单用户模式重置密码:-在启动时,你可以进入单用户模式,这样你可以以超级用户权限重置密码。
-在引导时按下键盘上的某个键(通常是Shift键或Esc键)来进入引导菜单。
-选择单用户模式或恢复模式。
-进入系统后,使用`passwd`命令来更改密码。
5. 使用恢复模式重置密码:-如果你的Linux发行版支持恢复模式,你可以使用它来重置密码。
RedHat Enterprise Linux root密码更改方法一
RedHat Enterprise Linux root密码更改方法一:1.先在虚拟机中启动Red Hat Linux。
2.在Grub引导程序中,在下面给出了一系列提示。
有兴趣的朋友可以都去试验一下。
我们这里按―e‖键进入系统启动前的Grub配置.3.然后我们选择中间那一项:―kernel /vmlinuz-2.4.20-8 ro root=LABEL=/‖按―e‖键进入编辑。
(注:阴影部分不一定完全相同)4.在―LABEL=/‖后面输入―空格+single‖后回车。
空格一定要记得输!5.然后选择中间那一项:―kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ single‖,按―b‖键启动单用户模式系统。
(注:阴影部分不一定完全相同)6.如果你的系统前面出现―sh-2.05b#‖这样的提示符,那么恭喜你,你已经成功进入了单用户模式。
奖励鸡蛋一个!7.在―sh-2.05b#‖后面输入―passwd root‖后回车。
出现了激动人心的输入新密码界面。
8.输入新密码并再次确定后,你的root用户的密码就成功更改了。
9.然后输入―reboot‖命令,重启系统,下次登陆就可以用新密码来使用root账户了。
有关Windows中忘记密码时解决的相关知识:1.在Windows中,本地账户都存储在本地的SAM数据库中。
该数据库存放在%systemroot%\system32\config文件下,文件名为SAM。
(%systemroot%是个环境变量,代表系统目录。
在XP和Windows server 2003系列中,%systemroot%=Windows目录,而在Windows2000系列中,%systemroot%=WinNT目录)2.在Windows中,当我们忘记超级管理员密码时,可以在纯DOS下对SAM改名或者直接删除。
这样一来,在下次系统启动时,超级管理员密码就为空,然后你就可以重新为它设置密码。
Linux常用命令-创建用户修改密码-useradd
Linux常⽤命令-创建⽤户修改密码-useradd命令简介useradd/userdel 创建新⽤户/删除⽤户,需要管理员权限操作。
在创建⽤户时,如果不配置密码,⽤户的默认密码是不可⽤的,所以,useradd命令⼀般与passwd命令配合使⽤,下节我们将介绍这个命令。
语法格式useradd 选项⽤户名userdel 选项⽤户名⽤户的分类超级⽤户:root,拥有对系统的最⾼管理权限,UID默认为0。
虚拟⽤户:⼜叫系统⽤户或伪⽤户,具有⼀定特权,与系统或程序服务相关,但没有真正的使⽤者。
⼀般不会⽤来登录系统,它主要⽤于维持某个访问的正常运⾏,如ftp,apache等。
普通⽤户:是⼀种受限制的⽤户,⼀般新建的⽤户都是普通⽤户。
默认只能执⾏/bin、/usr/bin、/usr/local/bin以及⾃⾝主⽬录⾥的命令。
注意:UID即每个⽤户的⾝份标识,虽然可以修改/etc/passwd(命令设置的UID不允许重复),但尽量保持唯⼀性,类似于每个⼈的⾝份证号码。
选项说明useradd 选项-c #加上备注⽂字,备注⽂字保存在passwd的备注栏中。
-d #指定⽤户登⼊时的主⽬录,替换系统默认值/home/<⽤户名>-D #变更预设值。
-e #指定账号的失效⽇期,⽇期格式为MM/DD/YY,例如06/30/12。
缺省表⽰永久有效。
-f #指定在密码过期后多少天即关闭该账号。
如果为0账号⽴即被停⽤;如果为-1则账号⼀直可⽤。
默认值为-1.-g #指定⽤户所属的群组。
值可以使组名也可以是GID。
⽤户组必须已经存在的,期默认值为100,即users。
-G #指定⽤户所属的附加群组。
-m #⾃动建⽴⽤户的登⼊⽬录。
-M #不要⾃动建⽴⽤户的登⼊⽬录。
-n #取消建⽴以⽤户名称为名的群组。
-r #建⽴系统账号。
-s #指定⽤户登⼊后所使⽤的shell。
默认值为/bin/bash。
-u #指定⽤户ID号。
远程批量修改linux服务器密码的脚本
批量修改远程linux服务器密码第一种方法通过expect批量修改linux服务器用户名和密码公司现在有100多台服务器,需要对服务器进行批量的修改root密码,还要在每台服务器新建一个用户,如果一个一个登到的服务器上进行修改的话,估计一个下午又没有了,首先想到的是我最喜欢的php,其中有个ssh2 模块,不得不承认用php 来处理这样的任务是一件很纠结的事情,然后又想到了用shell,不过发现很快就写不下去了,shell 的交互能力还是不能让人恭维的,最后发现了expect,expect 以其强大的交互能力,无疑是处理这类任务的首选,再加上expect 可以内嵌shell,这使得他变得更强大。
首先要有一个服务器的ip列表,把要处理的ip放在里面192.168.6.236192.168.6.235192.168.6.234192.168.6.233192.168.6.232192.168.6.231.....然后是shell脚本shell.sh#!/bin/bashif [ "$1" = "" ] || [ "$2" = "" ] || [ "$1" = "--help" ] [ "$1" = "-h" ] thenecho "usage:shell.sh path/iplist path/adduser"exitficat $1 | while read linedo[ -z $line ] && continue $2 $line;doneecho -e "\n well done\n"下面是最重要的部分adduser#!/usr/bin/expect#登录的用户名set loginuser ""#密码set loginpass ""#要修改的用户名set passuser "dfdjfk"#要修改成的新密码set newpass "your new password"#要添加的新的用户名set newusername "newusername"#要添加的新用户的密码set newpasswd "newpasswd"set ipaddr [lrange $argv 0 0]set timeout 300set cmd_prompt "]#|~]?"#---------------------------------------------------通过ssh 登录spawn ssh $loginuser@$ipaddrset timeout 300expect {-re "Are you sure you want to continue connecting (yes/no)?" { send "yes\r"} -re "assword:" {send "$loginpass\r"} -re "Permission denied, please try again." {exit} -re "Connection refused" {exit} timeout {exit} eof {exit}}expect {-re "assword:" {send "$loginpass\r"}-re $cmd_prompt {send "\r"}}#-------------------------------------------修改密码 send "passwd $passuser \r";expect {"New UNIX password:" {send "$newpass\r"}"passwd: Only root can specify a user name." {exit}}expect {"Retype new UNIX password:" {send "$newpass\r"}}#------------------------------------------------------添加一个新用户并改密码expect -re $cmd_promptsleep 1send "useradd $newusername \r"sleep 1send "passwd $newusername \r";expect {"New UNIX password:" {send "$newpasswd\r"}"passwd: Only root can specify a user name." {exit}}expect {"Retype new UNIX password:" {send "$newpasswd\r"}}#---------------------------------------------退出expect -re $cmd_promptexitok 调试完也将近花费了一个下午第二种方法通过shell脚本实现批量更改密码#!/bin/bash# BY kerryhu# MAIL:king_819@# BLOG:# Please manual operation yum of before Operation.....一、建立信任关系192.168.9.203 为管理机192.168.9.201 192.168.9.202 为远程linux服务器1、在管理机生成证书、[root@manage ~]# ssh-keygen -t rsa (然后一路回车)Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa. (私钥)Your public key has been saved in /root/.ssh/id_rsa.pub. (公钥)The key fingerprint is:36:ec:fc:db:b0:7f:81:7e:d0:1d:36:5e:29:dd:5b:a02、将管理机上的公钥传送到各远程服务器如远程服务器更改了默认的ssh端口号,就使用scp -P 17173,17173为端口号[root@manage .ssh]# scp id_rsa.pub 192.168.9.201:/root/.ssh/authorized_keys[root@manage .ssh]# scp id_rsa.pub 192.168.9.202:/root/.ssh/authorized_keys管理机与远程主机信任关系建立完毕注意:可能会出现并未建立信任关系的情况。
远程批量修改linux服务器密码的脚本
批量修改远程linux服务器密码第一种方法通过expect批量修改linux服务器用户名和密码公司现在有100多台服务器,需要对服务器进行批量的修改root密码,还要在每台服务器新建一个用户,如果一个一个登到的服务器上进行修改的话,估计一个下午又没有了,首先想到的是我最喜欢的php,其中有个ssh2 模块,不得不承认用php 来处理这样的任务是一件很纠结的事情,然后又想到了用shell,不过发现很快就写不下去了,shell 的交互能力还是不能让人恭维的,最后发现了expect,expect 以其强大的交互能力,无疑是处理这类任务的首选,再加上expect 可以内嵌shell,这使得他变得更强大。
首先要有一个服务器的ip列表,把要处理的ip放在里面192.168.6.236192.168.6.235192.168.6.234192.168.6.233192.168.6.232192.168.6.231.....然后是shell脚本shell.sh#!/bin/bashif [ "$1" = "" ] || [ "$2" = "" ] || [ "$1" = "--help" ] [ "$1" = "-h" ] thenecho "usage:shell.sh path/iplist path/adduser"exitficat $1 | while read linedo[ -z $line ] && continue $2 $line;doneecho -e "\n well done\n"下面是最重要的部分adduser#!/usr/bin/expect#登录的用户名set loginuser ""#密码set loginpass ""#要修改的用户名set passuser "dfdjfk"#要修改成的新密码set newpass "your new password"#要添加的新的用户名set newusername "newusername"#要添加的新用户的密码set newpasswd "newpasswd"set ipaddr [lrange $argv 0 0]set timeout 300set cmd_prompt "]#|~]?"#---------------------------------------------------通过ssh 登录spawn ssh $loginuser@$ipaddrset timeout 300expect {-re "Are you sure you want to continue connecting (yes/no)?" { send "yes\r"} -re "assword:" {send "$loginpass\r"} -re "Permission denied, please try again." {exit} -re "Connection refused" {exit} timeout {exit} eof {exit}}expect {-re "assword:" {send "$loginpass\r"}-re $cmd_prompt {send "\r"}}#-------------------------------------------修改密码 send "passwd $passuser \r";expect {"New UNIX password:" {send "$newpass\r"}"passwd: Only root can specify a user name." {exit}}expect {"Retype new UNIX password:" {send "$newpass\r"}}#------------------------------------------------------添加一个新用户并改密码expect -re $cmd_promptsleep 1send "useradd $newusername \r"sleep 1send "passwd $newusername \r";expect {"New UNIX password:" {send "$newpasswd\r"}"passwd: Only root can specify a user name." {exit}}expect {"Retype new UNIX password:" {send "$newpasswd\r"}}#---------------------------------------------退出expect -re $cmd_promptexitok 调试完也将近花费了一个下午第二种方法通过shell脚本实现批量更改密码#!/bin/bash# BY kerryhu# MAIL:king_819@# BLOG:# Please manual operation yum of before Operation.....一、建立信任关系192.168.9.203 为管理机192.168.9.201 192.168.9.202 为远程linux服务器1、在管理机生成证书、[root@manage ~]# ssh-keygen -t rsa (然后一路回车)Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa. (私钥)Your public key has been saved in /root/.ssh/id_rsa.pub. (公钥)The key fingerprint is:36:ec:fc:db:b0:7f:81:7e:d0:1d:36:5e:29:dd:5b:a02、将管理机上的公钥传送到各远程服务器如远程服务器更改了默认的ssh端口号,就使用scp -P 17173,17173为端口号[root@manage .ssh]# scp id_rsa.pub 192.168.9.201:/root/.ssh/authorized_keys[root@manage .ssh]# scp id_rsa.pub 192.168.9.202:/root/.ssh/authorized_keys管理机与远程主机信任关系建立完毕注意:可能会出现并未建立信任关系的情况。
linux下怎么使用passwd命令设置修改用户密码
linux下怎么使用passwd命令设置修改用户密码Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
用我们需要修改密码时候,比较常用的命令就是passwd命令,下面小编就为大家带来一篇linux下passwd命令设置修改用户密码的方法。
小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
一起跟随小编过来看看吧1、passwd 简单说明;我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man passwd或passwd --help ;passwd [OPTION...]passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root 用户运行passwd ,可以设置或修改任何用户的密码;passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的例子;[root@localhost ~]# passwd 注:没有加任何用户,我是用root 用户来执行的passwd 表示修改root用户的密码;下面也有提示;Changing password for user root.New UNIX password: 注:请输入新密码;Retype new UNIX password: 注:验证新密码;passwd: all authentication tokens updated successfully. 注:修改root密码成功;如果是普通用户执行passwd 只能修改自己的密码;如果新建用户后,要为新用户创建密码,则用 passwd 用户名,注意要以root用户的权限来创建;[root@localhost ~]# passwd beinan 注:更改或创建beinan用户的密码;Changing password for user beinan.New UNIX password: 注:请输入新密码;Retype new UNIX password: 注:再输入一次;passwd: all authentication tokens updated successfully. 注:成功;普通用户如果想更改自己的密码,直接运行passwd即可;比如当前操作的用户是beinan;[beinan@localhost ~]$ passwdChanging password for user beinan. 注:更改beinan用户的密码;(current) UNIX password: 注:请输入当前密码;New UNIX password: 注:请输入新密码;Retype new UNIX password: 注:确认新密码;passwd: all authentication tokens updated successfully. 注:更改成功;2、passwd 几个比较重要的参数;[root@localhost beinan]# passwd --helpUsage: passwd [OPTION...]-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 number of days warning users receives before注:在距多少天提醒用户修改密码;仅能root权限操作;password expiration (root only)-i, --inactive=DAYS number of days after password expiration when an注:在密码过期后多少天,用户被禁掉,仅能以root操作;account becomes disabled (root only)-S, --status report password status on the named account (root 注:查询用户的密码状态,仅能root用户操作;only)--stdin read new tokens from stdin (root only)比如我们让某个用户不能修改密码,可以用-l 参数来锁定:[root@localhost ~]# passwd -l beinan 注:锁定用户beinan不能更改密码;Locking password for user beinan.passwd: Success 注:锁定成功;[beinan@localhost ~]# su beinan 注:通过su切换到beinan 用户;[beinan@localhost ~]$ passwd 注:beinan来更改密码;Changing password for user beinan.Changing password for beinan(current) UNIX password: 注:输入beinan的当前密码;passwd: Authentication token manipulation error 注:失败,不能更改密码;补充:Linux基本命令1.ls命令:格式::ls [选项] [目录或文件]功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
redhat linux单用户模式修改密码
如何进入单用户模式修改redhat linux 密码1.启动redhat linux出现倒计时界面如下图
2.此时按任意键出现下图
3.此时按e键出现下图
4.按下箭头,走到第二个选项,按e键出现下图
5.输入:空格1,或者空格single,回车出现下图
6.此时按b键出现下图
7.等待若干秒后出现下图界面,此时我们已经成功进入了单用户
8.此时只需要输入passwd回车就可以修改root用户的密码
9.密码需要确认一次才能修改成功,此时输入reboot重启,就可以用刚才设置的密码登陆系统了
需要说明的是进入单用户模式的前提是grub没有加密,或者加密了但是你有grub密码。
Linux系统用户密码管理脚本使用Shell脚本管理用户密码策略
Linux系统用户密码管理脚本使用Shell脚本管理用户密码策略在Linux系统中,用户密码的管理是非常重要的一项任务,好的密码管理策略可以有效保护系统的安全性。
为了简化和自动化这一任务,我们可以使用Shell脚本来管理用户密码策略。
本文将介绍如何使用Shell脚本来实现Linux系统用户密码的管理,包括密码复杂度设置、定期密码更改和密码过期提示。
一、密码复杂度设置:密码复杂度设置是防止用户使用弱密码的重要措施之一。
通过Shell 脚本,我们可以轻松地设置密码的复杂度要求。
例如,我们可以要求密码长度不少于8个字符,包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符。
以下是一个示例脚本:```shell#!/bin/bash# 检查密码复杂度while truedoread -s -p "请输入新密码:" passwordecholength=${#password}if [[ $length -lt 8 || !($password =~ [A-Z]) || !($password =~ [a-z])|| !($password =~ [0-9]) || !($password =~ [\!\@\#\$\%\^\&\*\(\)\_\+\-\=]) ]]; thenecho "密码不符合复杂度要求,请重新输入!"continuefibreakdone# 设置新密码echo "设置成功!"```以上示例脚本将要求用户输入新密码,并根据预设的复杂度要求进行检查。
只有当密码符合要求时,用户才能成功设置密码。
二、定期密码更改:定期更改密码是一种常用的安全措施,可以降低密码被破解的风险。
通过Shell脚本,我们可以自动化执行定期密码更改的任务。
以下是一个示例脚本:```shell#!/bin/bash# 获取当前用户current_user=$(whoami)# 生成新密码new_password=$(openssl rand -base64 12)# 更新密码echo -e "$new_password\n$new_password" | passwd $current_user# 显示新密码echo "您的新密码是:$new_password"```以上示例脚本会在当前用户登录后执行密码更改操作。
linux chpasswd -e 加密原理
linux chpasswd -e 加密原理Linux chpasswd是一个用于更改用户密码的命令行工具。
在Linux系统中,密码是以加密形式存储的,以确保用户的密码安全性。
本文将详细介绍Linux chpasswd命令的使用和密码加密原理。
首先,让我们来了解一下Linux chpasswd命令的用法。
chpasswd命令允许用户通过从标准输入读取用户和相应密码的键值对来更改用户密码。
以下是chpasswd命令的基本语法:chpasswd [选项]chpasswd命令的主要选项包括:- `-e`:使用加密算法进行密码加密。
- `-c`:指定密码加密算法所需的CPU负载。
- `-m`:使用用户模式加密。
- `-R`:使用内核模式加密。
现在,我们来重点关注chpasswd命令中密码的加密原理。
Linux系统使用的密码加密算法是基于哈希函数的。
哈希函数是一种能够将任意长度的输入数据转换成固定长度输出的函数。
密码哈希是将用户密码作为输入,经过哈希运算后生成的一串固定长度的密文。
在Linux中,最常用的密码哈希算法是MD5、SHA-256和SHA-512。
这些算法都是单项函数,即无法通过密文反推出原文。
这意味着即使有人获取到了密码哈希值,也无法还原出用户的明文密码。
当使用chpasswd命令更改用户密码时,默认情况下,密码是以明文形式传递给chpasswd命令。
但是,为了增加密码的安全性,可以使用`-e`选项来启用加密功能,使密码在存储和传输过程中都以密文形式存在。
当使用加密选项时,chpasswd命令将用户密码传递给加密算法进行加密。
加密算法将密码和随机产生的盐值合并,然后进行指定次数的哈希运算生成最终的哈希值。
盐值是一个随机的字符串,用于增加密码哈希的复杂度,提高密码的安全性。
需要注意的是,使用加密选项时,并不是所有的加密算法都适用于所有的Linux发行版。
不同的发行版和版本可能支持不同的加密算法。
linux passwd权限值
linux passwd权限值题目:Linux passwd权限值详解与应用指南引言:在Linux操作系统中,passwd命令是一种用来管理用户密码和密码选项的工具。
它允许系统管理员和普通用户改变密码,并可以通过使用不同的权限值对其进行安全控制。
本文将详细探讨Linux中passwd权限值的含义、作用以及如何正确应用这些权限。
第一部分:passwd命令概述Linux密码管理命令passwd可以让用户更新密码,该命令需要root权限或有效的用户权限来运行。
它的基本用法是:passwd [选项] [用户名]其中,选项可以为空或包括以下参数:- -l:锁定用户的密码;- -u:解锁用户的密码;- -d:用空密码禁用用户的密码;- -e:强制用户在下次登录时修改密码;- -S:显示用户密码状态。
第二部分:理解passwd权限值1. 权限值的定义:Linux中的权限值是一种用于限制对指定文件或命令的访问权限的方法,与文件权限类似。
密码管理的权限值是一个数字,用于控制谁有权更改用户的密码。
2. 密码管理权限值的分类:根据权限值的不同,可以将密码管理权限值分为如下几类:- 用户自身的密码修改权限(PASS_CHANGE_OWN);- 其他用户的密码修改权限(PASS_CHANGE_OTHER);- 修改用户密码时的任意策略权限(PASS_CHANGE_ANY);- 其他密码管理相关权限。
3. 权限值的范围:在Linux中,密码管理权限值的取值范围是0到15个级别。
级别越高,拥有的密码管理权限越大。
最小权限值为0,代表仅允许修改自己的密码,而最大权限值为15,代表允许更改所有用户的密码。
第三部分:应用passwd权限值1. 设定用户的密码管理权限:要设置用户的密码管理权限,可以使用如下命令:chage -M [最大密码天数] -m [最小密码天数] -W [警告时间] -I [不活动时间] -E [过期时间] [用户名]2. 修改/etc/login.defs文件:登录定义文件/etc/login.defs中的PASS_MIN_DAYS和PASS_MAX_DAYS变量可以分别设定密码变更的最小天数和最大天数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux更改用户密码
环境
RedHat Linux 9 + VWWare 7.1.2 + Putty 0.62
问题
Linux更改用户密码
解决
方法一
1.如果你是以普通用户登录的话,修改自己的密码,使用passwd命令。
会让你先输入自己的旧密码,再输入两遍新密码。
[plain]view plaincopyprint?
1.[wgb@localhost root]$ passwd
2.Changing password for user wgb.
3.Changing password for wgb
4.(current) UNIX password:
5.New password:
6.Retype new password:
7.passwd: all authentication tokens updated successfully.
8.[wgb@localhost root]$
9.
10.[wgb@localhost root]$ passwd wgb
11.passwd: Only root can specify a user name.
2.如果你是root用户登录的话,使用passwd root或者passwd,就可以修改root 的密码。
直接输入两遍新密码就可以了,不用输入旧密码。
[plain]view plaincopyprint?
1.[root@localhost root]# passwd
2.Changing password for user root.
3.New password:
4.BAD PASSWORD: it is too short
5.Retype new password:
6.passwd: all authentication tokens updated successfully.
7.[root@localhost root]#
8.
9.[root@localhost root]# passwd root
10.Changing password for user root.
11.New password:
12.BAD PASSWORD: it is too short
13.Retype new password:
14.passwd: all authentication tokens updated successfully.
15.[root@localhost root]#
方法二
root用户登录,打开终端,执行echo "你想设置的密码" | passwd --stdin 用户名[plain]view plaincopyprint?
1.[root@localhost root]# echo "wgb" | passwd --stdin wgb
2.Changing password for user wgb.
3.passwd: all authentication tokens updated successfully.。