1)管理用户(user)的工具或命令;
useradd注:添加用户
adduser注:添加用户
passwd注:为用户设置密码
usermod注:更改用户命令,可以通过usermod来更改登入名、用户的家目录等等;
pwcov注:同步用户从/etc/passwd到/etc/shadow
pwck注:pwck是校准用户配置文件/etc/passwd和/etc/shadow文件内容是否合法或完整;
pwunconv注:是pwcov的立逆向操作,是从/etc/shadow和/etc/passwd创建/etc/passwd,之后会删掉/etc/shadow文件;
finger注:查看用户信息工具
id注:查看用户的UID、GID及所归属的用户组
chfn注:修改用户信息工具
su注:用户切换工具
sudo注:sudo是通过另一个用户来执行命令(executeacommandasanotheruser),su是拿来切换用户,之后通过切换到的用户来完成相应的任务,但sudo能前面直接执行命令,例如sudo不须要root密码就可以执行root赋与的执行只有root能够执行相应的命令;但得通过visudo来编辑/etc/sudoers来实现;
visudo注:visodo是编辑/etc/sudoers的命令;也可以不用这个命令,直接用vi来编辑/etc/sudoers的疗效是一样的;
sudoedit注:和sudo功能差不多;
2)管理用户组(group)的工具或命令;
groupadd注:添加用户组;
groupdel注:删掉用户组;
groupmod注:更改用户组信息
groups注:显示用户所属的用户组
grpck
grpconv注:通过/etc/group和/etc/gshadow的文件内容来同步或创建/etc/gshadow,假如/etc/gshadow不存在则创建;
grpunconv注:通过/etc/group和/etc/gshadow文件内容来同步或创建/etc/group,之后删掉gshadow文件;
///
构建一个新用户
构建一个新的用户包括两个步骤,第一步是使用useradd命令完成一个新用户的初始化设置工作;第二步是用passwd为这个新用户设置密码。比如,我们要给系统添加一个用户叫floatboat,密码为fan20012001z,那相关的操作是:
useraddfloatboat
这时侯系统没有任何显示。接着:
passwdfloatboat
系统显示:
Changingpasswordforuserfloatboat
NewUNIXpassword:
你输入:
fan2001z
注意北京linux培训,因为linux并不采用类似windows的密码回显(显示为*号)——为防止你输入密码时被人注意到有多少位——所以,输入的那些字符你是看不见的。
系统显示:
RetypenewUNIXpassword:
你再重新输入一次密码,之后回车确认,这时系统会显示:
passwd:allauthenticationtokensupdatedsuccessfully
表示你更改密码成功了。
到这儿,新用户的创建工作即使完成了。下边嵌入式linux,我们再补充一些有关降低新用户的常识:
1、useradd所做的初始化操作早已包括在/home目录下为floatboat账号构建一个名为floatboat的主目录。假如你不想使用这个缺省的目录,而希望把他的主目录置于/home/goal里(还置于/home下,只是一种良好的习惯,没有其他哪些非常的要求),可以使用useradd的参数-d,命令如下:
useradd-d/home/goalfloatboat
2、useradd的初始化操作还包括为用户单独构建一个与用户名同名的组(floatboat组)。这叫用户私有组的机制,与默认组机制相对应。对用户分组一是便捷管理,二是可以明晰权限。复杂的我们将在之后的深入内容中阐述。我们假如想让此用户加入一个已有的组的话,可以使用-g参数。比如我们想让floatboat加入webusers组,这么可以使用以下命令:
useradd-gwebusersfloatboat
同样的,我们还可以使用-G参数使他同时加入多个组,比如webusers和ftpusers:
useradd-Gftpusers,webusersfloatboat
3、passwd命令为一个用户设置密码,但它实质上是一个更改密码的程序。只有超级用户和用户自己可以更改密码,其它的普通用户没有给他更改密码的权力。用户密码的组成要尽量的复杂,最好包括字母、数字和特殊符号,但是最好设成6位以上。太紧passwd程序不准许,只是单纯的字母或单纯的数字,passwd也会有意见。你就会看到passwd出现的提示的,不要害怕,仔细瞧瞧究竟它是怎样说的:)
4、你在降低一个新用户的时侯,也可以设置用户登入的shell。缺省的,系统提供了/bin/bash。你若果非要指定的话,可以使用-s参数就可以了。诸如
useradd-d/www-s/usr/bin/passwdfloatboat
注意,这种参数是可以一块使用的,如上例所示,它表示降低新用户,并把其主目录路径设置在/www,登陆的shell为/usr/bin/passwd。关于shell的更详尽的说明,请参考下边的更改用户的个人设置相关内容。
5、删除一个用户可以使用userdel命令,直接带用户名做参数就可以了。
更改用户的设置
对现有用户的更改,比较常用的主要是更改密码(使用passwd就好了),更改用户的登陆shell,更改用户所属的默认组,设置账号有效期,更改用户的说明信息等等,时常也会用到更改用房主目录。
更改用户的登陆shell
使用chsh命令可以更改自己的shell,只有超级用户能够用chshusername为其它用户更改shell设置。注意,指定的shell必须是纳入/etc/shells文件中的shell,否则该用户将不能登入。
通常,比较常见的shells文件包括下边这种shell:
/bin/bash2
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而网管们还喜欢在上面加上/usr/bin/passwd,这是为了不然用户通过控制台或telnet登入系统,却可以使用更改账户密码(例如在FTP里用)。以及/bin/false,也就是不让这个用户登入的意思喽^&^,连FTP也不能用。
你也可以使用usermod命令更改shell信息,如下所示:
usermod-s/bin/bashfloatboat
其中/bin/bash和floatboat应取相应的shell路径文件名及用户名。
还有一种情况,就是你为用户设置了一个空的shell(就是""),也就是说,这个用户没有shell。呵呵,绝对没有在我还从未见过,由于这些用户登陆后,系统还是会给它一个shell用的。不信你试试:
usermod-s""floatboat
这些用户按照系统的不同,会有一个sh或bash进行操作,我也没有看出功能上和其它普通用户登陆有哪些不同。
更改用户所属的默认组
这个功能也可以通过usermod命令来实现,使用-g参数,比如把floatboat的默认组改为nobody,可以使用如下命令:
username-gnobodyfloatboat
nobody在类UNIX系统中通常都意味着没有任何权限。
设置账号有效期
假如使用了影子口令,则可以使用如下命令来更改一个账号的有效期:
usermod-eMM/DD/YYusername
比如把用户floatboat的有效期定为2001年12月31日:
usermod-e12/31/01floatboat
假如把该用户的有效期设为早已过去的时间linux 用户管理命令,就可以暂时严禁该用户登入系统。
更改用户的说明信息
更改用户的说明信息,最简单的方式莫过分直接更改/etc/passwd文件,找到对应的用户记录行,比如下述行:
floatboat:x:503:503::/home/floatboat:/bin/bash
你可以直接在第四个逗号和第五个引号之间插入该用户的说明就可以了。虽然,好多用户设置都可以在这更改linux 用户管理命令,例如该行最后一部份/bin/bash就是用户登入shell的设置。关于这个/etc/passwd文件,我们前面将进一步的深入剖析。
更改用房主目录
更改用户的主目录主要使用usermod命令的-d参数,比如:
usermod-d/wwwfloatboat
这一行将floatboat的主目录改到/www。假如想将现有主目录的主要内容转移到新的目录,应当使用-m开关,如下所示:
usermod-d-m/wwwfloatboat