转载自:http://linux.chinaunix.net/bbs/thread-1167899-1-1. html
一、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 ~]$ passwd
Changing password for user beinan. 注:更改beinan用户的密码;
(current) UNIX password: 注:请输入当前密码;
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:确认新密码;
passwd: all authentication tokens updated successfully. 注:更改为功;
二、passwd 几个比较重要的参数;
[root
@localhost beinan]# passwd --help
Usage: passwd [OPTION...] <accountName>
-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 注:失败,不能更改密码;
再来一例:
[root
@localhost ~]# passwd -d beinan 注:清除beinan用户密码;
Removing password for user beinan.
passwd: Success 注:清除成功;
[root
@localhost ~]# passwd -S beinan 注:查询beinan用户密码状态;
Empty password. 注:空密码,也就是没有密码;
注意: 当咱们清除一个用户的密码时,登陆时就无需密码;这一点要加以注意;
三、chage 修改用户密码有效期限的命令;
chage 用语法格式:
chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过时日] [-d 最后日] 用户
前面已经说的好多了,这个只是一笔带过吧,知道有这个命令就行,本身实践实践再说,大致和psswd有些参数的用法差很少;
密 码时效命令-----chage
格式为:chage [<选项>] <用户名>
下面列出了chage命令的选项说明:
-m days: 密码可更改的最小天数。为零时表明任什么时候候均可以更改密码。
-M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该账号前就必须改变口令。
-d days: 指定从1970年1月1日起,口令被改变的天数。
-I days: 指定口令过时后,账号被锁前不活跃的天数。若是值为0,账号在口令过时后就不会被锁。
-E date: 指定账号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可使用自1970年1月1往后通过的天数。
-W days: 指定口令过时前要警告用户的天数。
-l: 列出指定用户当前的口令时效信息,以肯定账号什么时候过时。
例以下面的命令要求用户user1两天内不能更改口令,而且口令最长的存活期为30天,而且口令过时前5天通知用户
chage -m 2 -M 30 -W 5 user1
可使用以下命令查看用户user1当前的口令时效信息:chage -l user1
提示:1)可使用chage <用户名>进入交互模式修改用户的口令时效。
2)修改口令实质上就是修改影子口令文件/etc/shadow中与口令时效相关的字段值。 http://hi.baidu.com/ubuntu2me/bl ... c83781c91768fe.html
http://lolo6062.javaeye.com/blog/174033
03-20
linux命令建立和修改用户及密码
linux下建立用户
一、添加ftp用户
useradd ftpname -d /home/ftp
passwd ftppwd
如下操做都以root权限进行:
service vsftpd start 启动
Linux自带的FTP服务
2. 添加普通用户
useradd nagios –d /usr/local/nagios
chown nagios.nagios /usr/local/nagios
将用户切换到nagios 用户,添加nagios的访问用户:
su nagios
htpasswd –c /usr/local/nagios/etc/htpasswd.users nagiosadmin
系统会提示输入两次密码,例如两次输入nagios。
注: 这是第一次建立用户,须要“-c”选项,表示建立一个存放用户名和密码的文件,当再次添加用户或修改密码时不用“-c”选项。
添加新的用户帐号使用useradd命令,其语法以下:
useradd 选项 用户名
其中各选项含义以下:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,若是此目录不存在,则同时使用-m选项,能够建立主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登陆Shell。
-u 用户号 指定用户的用户号,若是同时有-o选项,则能够重复使用其余用户的标识号。
用户名 指定新帐号的登陆名。
例如:
# useradd –d /usr/sam -m sam
此命令建立了一个用户sam,其中-d和-m选项用来为登陆名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登陆Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
增长用户帐号就是在/etc/passwd文件中为新用户增长一条记录,同时更新其余系统文件如/etc/shadow, /etc/group等。这几个文件的内容在后面会作详细介绍。
Linux提供了集成的系统管理工具userconf,它能够用来对用户帐号进行统一管理。
若是一个用户的帐号再也不使用,能够从系统中删除。删除用户帐号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户帐号使用userdel命令,其格式以下:
userdel 选项 用户名
经常使用的选项是-r,它的做用是把用户的主目录一块儿删除。
例如:
# userdel sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
修改用户帐号就是根据实际状况更改用户的有关属性,如用户号、主目录、用户组、登陆Shell等。
修改已有用户的信息使用usermod命令,其格式以下:
usermod 选项 用户名
经常使用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项同样,能够为用户指定新的资源值。另外,有些系统可使用以下选项:
-l 新用户名
这个选项指定一个新的帐号,即将原来的用户名改成新的用户名。
例如:
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登陆Shell修改成ksh,主目录改成/home/z,用户组改成developer。
用户管理的一项重要内容是用户口令的管理。用户帐号刚建立时没有口令,可是被系统锁定,没法使用,必须为其指定口令后才可使用,即便是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户能够为本身和其余用户指定口令,普通用户只能用它修改本身的口令。命令的格式为:
passwd 选项 用户名
可以使用的选项:
-l 锁定口令,即禁用帐号。
-u 口令解锁。
-d 使帐号无口令。
-f 强迫用户下次登陆时修改口令。
若是默认用户名,则修改当前用户的口令。
例如,假设当前用户是sam,则下面的命令修改该用户本身的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
若是是超级用户,能够用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*******
普通用户修改本身的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,若是两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不须要知道原口令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,而且应该与姓名、生日等不相同。
为用户指定空口令时,执行下列形式的命令:
# passwd -d sam
此命令将用户sam的口令删除,这样用户sam下一次登陆时,系统就再也不询问口令。
passwd命令还能够用-l(lock)选项锁定某一用户,使其不能登陆,例如:
# passwd -l sam useradd -u 0 -o -g 0 youname
建一和root权限同样的账号youname:
-u 0 就是建一个uid=0的账号
-o (注意是字母o,不是数字0)就是容许使用重复的id号
-g 0 就是建一个gid=0的账号
youname就是你建的账号名.
useradd -c likeroot -d /home/likeroot -u 501 -g root likeroot
mkdir /home/likeroot
vi /etc/passwd文件,改uid为0
likeroot:0:0:likeroot:/home/likeroot:
修改/etc/password 文件,把你添加的用户id 修改为0 就能够和root同样的权限了!
或者修改/etc/vsftp*开头的两个文件,把root注释掉,而后把/etc/pam.d/login里面的第一行注释掉!
这样你就能够用root 进行远程登录和ftp了,不过这样不安全!
/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(分隔为7个字段,其格式和具体含义以下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登陆Shell
1)“用户名”是表明用户帐号的字符串。一般长度不超过8个字符,而且由大小写字母和/或数字组成。登陆名中不能有冒号(,由于冒号在这里是分隔符。为了兼容起见,登陆名中最好不要包含点字符(.),而且不使用连字符(-)和加号(+)打头。
2)“口令”一些系统中,存放着加密后的用户口令字。。虽然这个字段存放的只是用户口令的加密串,不是 明文,可是因为/etc/passwd文件对全部用户均可读,因此这还是一个安全隐患。所以,如今许多
Linux 系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。
3)“用户标识号”是一个整数,系统内部用它来标识用户。通常状况下它与用户名是一一对应的。若是几个用户名对应的用户标识号是同样的,系统内部将把它们视为同一个用户,可是它们能够有不一样的口令、不一样的主目录以及不一样的登陆Shell等。
一般用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,做为管理帐号,普通用户的标识号从100开始。在
Linux系统中,这个界限是500。
4)“组标识号”字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。
5)“注释性描述”字段记录着用户的一些我的状况,例如用户的真实姓名、电话、地址等,这个字段并无什么实际的用途。在不一样的
Linux 系统中,这个字段的格式并无统一。在许多
Linux系统中,这个字段存放的是一段任意的注释性描述文字,用作finger命令的输出。
6)“主目录”,也就是用户的起始工做目录,它是用户在登陆到系统以后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登陆名。各用户对本身的主目录有读、写、执行(搜索)权限,其余用户对此目录的访问权限则根据具体状况设置。
7)用户登陆后,要启动一个进程,负责将用户的操做传给内核,这个进程是用户登陆到系统后运行的命令解释器或某个特定的程序,即Shell。Shell 是用户与
Linux系统之间的接口。
Linux的Shell有许多种,每种都有不一样的特色。经常使用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系统管理员能够根据系统状况和用户习惯为用户指定某个Shell。若是不指定Shell,那么系统使用sh为默认的登陆Shell,即这个字段的值为/bin/sh。
用户的登陆Shell也能够指定为某个特定的程序(此程序不是一个命令解释器)。利用这一特色,咱们能够限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些
Linux 系统要求只有那些在系统中登记了的程序才能出如今这个字段中。
做用
passwd命令原来修改帐户的登录密码,使用权限是全部用户。
2.格式
passwd [选项] 帐户名称
3.主要参数
-l:锁定已经命名的帐户名称,只有具有超级用户权限的使用者方可以使用。
-u:解开帐户锁定状态,只有具有超级用户权限的使用者方可以使用。
-x, --maximum=DAYS:密码使用最大时间(天),只有具有超级用户权限的使用者方可以使用。
-n, --minimum=DAYS:密码使用最小时间(天),只有具有超级用户权限的使用者方可以使用。
-d:删除使用者的密码, 只有具有超级用户权限的使用者方可以使用。
-S:检查指定使用者的密码认证种类, 只有具有超级用户权限的使用者方可以使用。
4.应用实例
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
从上面能够看到,使用passwd命令须要输入旧的密码,而后再输入两次新密码。
Linux联盟收集整理
Linux 操做系统是UNIX 操做系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。之后借助于Internet 网络,并通过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操做系统,而且使用人数还在迅猛增加。 Linux 操做系统的诞生、发展和成长过程始终依赖着如下五个重要支柱:UNIX 操做系统、MINIX 操做系统、GNU 计划、POSIX 标准和Internet 网络。html