Linux用户管理详解(上)

Linux中用户管理详解(上)-Linux学习日记

Linux 系统中,所有的用户和组像一个国家。如果国家要繁荣昌盛的话,需要治理得当,需要有主席或者总统,以及地方官员和老 百姓组成。在 linux 中如果你对安全需求比较苛刻,完全可以限制用户的各种行为,不同用户的权限是不同的。
linux 中系统中,它并不认识帐号名称。它认识的是我们的帐号 ID ,帐号 ID 保存在 /etc/passwd 文件中。我们在登录 linux 主机时,在输入完帐号和密码时, linux 会先查找 /etc/passwd 文件中是否有这个帐号,如果没有则跳出,如果有的话,他会读取该帐号的 user ID group ID 同时该帐号的根目录和 shell 也读了出来。然后在去核对密码表,在 /etc/shadow 中找出我们刚刚输入的帐号和 userID, 核对我们输入密码是否正确。一切正确我们可以登录到当前用户 shell 。那么,我们首先了解一下用户帐号文件。
1./etc/passwd 我们使用 more 查看一下这个文件

我们首先看第一行 root 这一行,一共有七项,每一项使用:分开,他们代表的意思如下:
帐号名称:帐号名称由于对应用户 ID ,这个是系统默认用户 root 超级管理员,在同一个系统帐号名称是唯一的,长度根据不同的 linux 系统而定,一般是 8 位。
密码:由于系统中还有一个 /etc/shadow 文件用于存放加密后的口令,所以 在这里这一项是“ x ”来表示,如果用户没有设置口令,则该项为空。
用户 ID:这个 是系统内部用于来识别不同的用户的,不同的用户识别码不同,其中用户 ID 有以下几种:
0 代表系统管理员,如果你想建立一个系统管理员的话,可以建立一个普通帐户,然后将该账户的用户 ID 改为 0 即可。
1-500 系统预留的 ID 500 以上是普通用户使用。
ID:其实这 个和用户 ID 差不多,用来规范群组,他与 /etc/group 有关。
描述信息:这个字段几乎没有什么作用,只是用来解释这个帐号的意义。一般常见的是用户全名信息。-
用户根目录:就是用户登录系统的起始目录,用户登录系统后将首先进入该目录。 root 用户默认的是 /root ,普通用户的是 /home/ 用户名。
用户登录 shell:就 是用户登录系统时使用的 shell ,关于 shell 我们会在以后专门的研究一下。
通常我们可以使用vi编辑这个文 件,也可以使用vipw命令对/etc/passwd对这个用户帐户文件进行编辑,使用的编辑器是vi。
2./etc/shadow
在早期的 unix 操作系统中,用户的帐号信息和口 令信息都保存在 passwd 文件中,尽管系统已经对口令进行了加密,并且以密文的方式保存在 passwd 文件中,但是由于 passwd 文件对于系统中的所有用户是可读 的,口令比较容易破解,存在较大的安全隐患。现在使用“ shadow ”文件保存密文的用户口令,使用 passwd 文件保存用户帐号其它信息。“ shadow ”文件只有管理员用户才可以读取 其中的内容。由于这个文件可能被破解,所以一定不要将该文件内容泄露给他人,保证系统安全。
同样,我们还是分析第一行,一共有 九项,分别说明一下:
帐户名称:和 passwd 对应,和 passwd 的意思相同。
密码:这才是真正的密码,并且已经加密过了,只能看到一些特殊符号。需要注意的是这些密码很难破解,但是 不等于不能。还有密码栏的第一个字符为“ * ”表示这个用户不用来登录,如果那个用户不想让他登录了,可以在他前面加 个星。
上次改动密码的日期:这段记录了改动密码的最后日期,为什么是 13798 呢?这是因为 linux 计算日期的方法是以 1970 1 1 作为 1 1971 1 1 就是 366 ,依次类推到我修改密码的日期表示 为 13798 了。
密码不可被改动的天数:这个字段代表要经过多久才可以更改密码。如果是“ 0 代表密码可以随时更改。
密码需要重新更改天数: 由于害怕密码被人盗取而危害到整个 系统的安全,所以安排了这个字段,你必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的 99999 ,表示密码不需要重新输入,最好设定一段时间修改密码。确保系统安全。
密码变更期期限快到前的警告期:当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户 “再过 n 天您的密码将过期,请尽快重新设定密码。默认的是七天。
帐号失效期:如果用户过了警告期没有重新输入密码,使得密码失效,而该用户在这个字段限定的时间内又没有 向管理员反映,让帐号重新启用,那么这个帐号将暂时失效。
帐号取消日期:这个日期跟第三个字段一样,都是使用 1970 年以来的日期设定方法。这个字段表示:这个帐号在此字段规定的日期之后将无法再使用。这个字段通常用于收费服务系统 中,可以规定一个日期让该帐号不能再使用。
保留:最后一个字段是保留的,看以后有没有新功能加入。
3. /etc/group 查看一下这个文件
我们还是分析第一行,一共有四项, 依次为:
群组名称:就是群组的名称了。
群组密码:通常不需设定,因为我们很少使用群组登录。不过这个密码也被记录在 /etc/shadow 中了。
群组 ID :也就是组 ID 了。
支持帐号的名称:这个群组的所有帐号。如果你想让用户 qiuri 也属于 root 这个群组,就在第一行最后加上“, qiuri ”注意添加的时候没有空格。
通常我们使用vi编辑这个文件,也 可以使用vigr这个命令编辑,等同于使用vi /etc/group编辑。
4. adduser 添加用户
如果没有特殊的要求,通常我们使 用 adduser 用户名称直接创建用户帐号。例如我们创建 qiuri 帐户:
由于一般新创建的帐号都会在刚才我 们说的三个文件的最后一行添加一行内容,我们验证一下:
我们使用这条命令是通过 /etc/login.defs /etc/default/useradd 这两个默认帐号设定文件来实现创 建用户时用户的基本设置的。 /etc/login.defs 文件内容如下:
/etc/default/useradd 文件内容如下:
这个文件中我们有必要了解一下, SKEL 这个选项,用户的根目录内容是从 /etc/skel 这个目录下复制过去的。在手动添加 用户的时候有用。查看一下这个目录下的内容:
这条命令还有好多的参数举例几个, 供大家参考一下:
adduser [-u uid][-g group][-d home][-s shell]
-u: 直接给出 userID                     -g: 直接给出 GID
-d: 直接将根目录建立在已存在目录         -s: 定义 shell
5.passwd 设置用户密码
默认的情况下,在添加完用户后并 没有设置用户的密码,因此建立的用户帐号即使存在也不能登陆系统。需要使用 passwd 命令对用户帐号设置密码才可以用 于登陆系统。这条命令分为管理员给用户修改密码和用户自己登录系统自己修改密码。
管理员 root 给用户修改密码,例如:创建用户 qiuri ,然后设置密码
管理员给用户设置密码以命令 passwd [ 用户名 ] 来设置密码,在输入密码的过程中为了避免输入错误,将连续输入两次。如果两次输入的密码相同,表示输入的密码 正确,同时将密码以加密的方式保存到了 shadow 文件中。设置完以后我们可以使用用户 qiuri 登录。 qiuri 用户自己修改一下密码:

你可能感兴趣的:(linux,管理,用户,详解,休闲)