您的当前位置:首页 --> CentOS入门
CentOS 用户管理常用命令
浏览次数:917 关键词 ( 常用命令  用户  CentOS  )

用户管理的相关命令!

1. 用户名和密码

在linux的管理中,相当重要的一环就是管理用户,不是什么人都可以登录服务器的,若有人要登录服务器,必须申请相关的权限,经过管理员许可才可以登录服务器。虽然我们登录服务器时输入的是用户名和密码,但是linux主机是不认识你的用户名和密码的,他只认识ID号,其实就是一组数字(我们称为UID),由于计算机仅认识 0 与 1,所以主机对于数字比较有概念的;至于用户名只是为了让人们容易记忆而已。 而你的 ID 与用户名的对应就在 /etc/passwd,那下面我们就说一下/etc/passwd

2. /etc/passwd 文件

1 2 3 4 5 6 [root@drbd1 boot]# cat /etc/passwd | head -5 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

上面有五行代码,我看每一行,总7七段,分别用:隔开,下面我们说一下,各段的意义!分别是用户名,密码,UID,GID,用户说明信息,家目录,默认shell我们下面分别的说一说详细意义!


  • 用户名: 就是我们常用来登录系统的账户,这里的用户名和UID相对应

  • 密码: 不用说了,但这里是个X,防止被窃取,放在了别一个文件中/etc/shadow

  • UID: 对应我们的用户名,主机可通过这个识别我们用户名

  • GID: 我们在前一篇博客中说了,每个用户都对应一个用户组,这里的GID标识了组名,在另一个文件中/etc/group

  • 用户说明信息: 没有什么重要用途,只是用来解释这个账号的意义

  • 家目录: 用户的家目录,以上面为例, root 的家目录在 /root ,所以当 root 登陆之后,就会立刻跑到 /root 目录里

  • 默认shell: 当用户登陆系统后就会取得一个Shell 来与系统的核心沟通以进行用户的操作任务

3. /etc/shadow 文件

我们在上面说过,/etc/shadow文件是主要存放,用密码的,下面我们就来详细的看一下

1 2 3 4 5 6 [root@drbd1 boot]# cat /etc/shadow | head -5    root:$1$GErxq.OA$jxK.VBTpJkbr.XTIYnZR6/:15783:0:99999:7::: bin:*:15783:0:99999:7::: daemon:*:15783:0:99999:7::: adm:*:15783:0:99999:7::: lp:*:15783:0:99999:7:::
从上面的代码可以看出,shadow 字段也是由:隔开的,共有9段,下面我们就说一下每段的意义


  • 用户名: 不说了

  • 密码: 经过加密处理,提高安全性

  • 最近更改密码的日期: 更动口令那一天日期

  • 密码不可被更改的时间: 配置为20天的话,那么当你配置了密码之后, 20 天之内都无法改变这个密码

  • 密码需要重新更改的天数: 为了强制要求用户变更密码,这个字段可以指定在最近一次更改密码后, 在多少天数内需要再次的变更密码才行

  • 密码需要更改期限前的警告天数: 上面例子,密码到期之前的 7 天之内,系统会警告该用户

  • 密码过期后可以使用的天数: 密码过了该期限后用户依旧没有升级密码,那该密码就算过期了。 虽然密码过期但是该账号还是可以用来进行其他工作的,包括登陆系统取得 bash

  • 账号失效日期: 这个账号在此字段规定的日期之后,将无法再使用

  • 保留:最后一个字段是保留的,看以后有没有新功能加入

4.  /etc/group 文件

上面我们说了,用户名与密码的存放文件,下面我们说一下,组名的存放文件

1 2 3 4 5 6 [root@drbd1 boot]# cat /etc/group | head -5 root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon
大家看到了,上面共有4个字段,也是由:分隔,那么我们说一下具体意义
  • 组名: 不说了

  • 群组密码: 这个配置通常是给群组管理员使用的,很少使用同样的口令存放到 /etc/gshadow 中

  • GID: /etc/passwd 第四个字段使用的 GID 对应的群组名,就是由这里对应出来的

  • 此群组支持的其他用户: 知道一个用户可以加入多个群组,那某个账号想要加入此群组时,将该账号填入这个字段即可

5. 与用户管理相关的命令

上面我们说了,与用户和组相关的配置文件,分别为/etc/passwd,/etc/shadow/,/etc/group,下面我们就来说一下,管理用户和组的相关命令

  • 管理用户: useradd, passwd, usermod, userdel

  • 管理组: groupadd, groupmod, groupdel

那我们就一个个说:

(1). useradd 命令

1 2 3 4 5 6 7 8 9 10 11 12 useradd [-u UID] [-g 初始群组] [-mM]  [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名 选项与参数: -u :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号 -g :后面接的那个组名,该群组的 GID 会被放置到 /etc/passwd 的第四个字段内 -G :后面接的组名则是这个账号还可以加入的群组。 这个选项与参数会修改 /etc/group 内的相关数据 -M :强制,不要创建用户家目录!(系统账号默认值) -m :强制,要创建用户家目录!(一般账号默认值) -c :这个就是/etc/passwd 的第五栏的说明内容啦,可以随便我们配置的 -d :指定某个目录成为家目录,而不要使用默认值。务必使用绝对路径 -r :创建一个系统的账号,这个账号的 UID 会有限制 (参考 /etc/login.defs) -s :后面接一个 shell ,若没有指定则默认是 /bin/bash 的啦~ -e :后面接一个日期,格式为『YYYY-MM-DD』此项目可写入 shadow 第八字段, 亦即账号失效时间的配置 -f :后面接 shadow 的第七字段项目,指定口令是否会失效。0为立刻失效, -1 为永远不失效(口令只会过期而强制于登陆时重新配置而已)

(2). passwd 命令

1 2 3 4 5 6 7 8 9 10 passwd [-l] [-u] [--stdin] [-S] [-n 日数] [-x 日数] [-w 日数] [-i 日期] 账号 <==root 功能 选项与参数: --stdin :可以通过来自前一个管道的数据,作为口令输入,对 shell script 有帮助 -l :是 Lock 的意思,会将 /etc/shadow 第二栏最前面加上 ! 使口令失效 -u :与 -l 相对,是 Unlock 的意 -S :列出口令相关参数,亦即 shadow 文件内的大部分信息 -n :后面接天数,shadow 的第 4 字段,多久不可修改口令天数 -x :后面接天数,shadow 的第 5 字段,多久内必须要更动口令 -w :后面接天数,shadow 的第 6 字段,口令过期前的警告天数 -i :后面接日期,shadow 的第 7 字段,口令失效日期 例: echo "123456" | passwd --stdin test

(3). usermod 命令

1 2 3 4 5 6 7 8 9 10 11 12 13 usermod [-c d e g G l s u L U] username 选项与参数: -c :后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明 -d :后面接账号的家目录,即修改 /etc/passwd 的第六栏 -e :后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据 -f :后面接天数,为 shadow 的第七字段 -g :后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是 GID 的字段 -G :后面接次要群组,修改这个使用者能够支持的群组,修改的是 /etc/group -a :与-G 合用,可添加次要群组的支持而非配置 -l :后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏 -s :后面接 Shell 的实际文件,例如 /bin/bash 或 /bin/csh …… -u :后面接 UID 数字,即 /etc/passwd 第三栏的数据 -L :暂时将用户的口令冻结,让他无法登陆。其实仅改 /etc/shadow 的口令栏 -U :将 /etc/shadow 口令栏的 ! 拿掉,解冻

(4). userdel 命令

1 2 userdel [-r] username 选项与参数: -r :连同用户的家目录也一起删除


(5). groupadd 命令

1 2 3 groupadd [-g gid] [-r] 组名 选项与参数: -g :后面接某个特定的 GID ,用来直接给予某个 GID -r :创建系统群组与 /etc/login.defs 内的 GID_MIN 有关

(6). groupmod 命令

1 2 3 groupmod [-g gid] [-n group_name] 群组名 选项与参数: -g :修改既有的 GID 数字 -n :修改既有的组名

(7). groupdel 命令

1 2 groupdel [groupname] 例: groupdel mygroup

以上就把用户与组管理的基本命令讲解完了,你会了吗?下面我们就拓展一些命令!

6. 其它命令

(1). id 命令

1 2 3 4 id [username] 例: id root [root@drbd1 ~]# id root uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

(2). finger 命令

1 2 3 4 5 6 7 8 9 10 11 12 13 14 finger [-s] username 选项与参数: -s :仅列出用户的账号、全名、终端机代号与登陆时间等等 -m :列出与后面接的账号相同者,而不是利用部分比对 (包括全名部分) 例: [root@drbd1 ~]# finger -s root Login     Name       Tty      Idle  Login Time   Office     Office Phone root      root       pts/0          May 23 09:29 (192.168.18.138) [root@drbd1 ~]# finger -m root Login: root                             Name: root Directory: /root                        Shell: /bin/bash On since Thu May 23 09:29 (CST) on pts/0 from 192.168.18.138 New mail received Thu May 23 09:30 2013 (CST)      Unread since Wed May 15 10:17 2013 (CST) No Plan.


总结:

到这里我们的用户管理基本讲完了,至于用户管理的高级应用(如,ACL应用,SU应用)我会在后博客中讲解!下一篇我们来说一说,Linux 时间与日期管理!

本文出自 “Share your knowledge …” 博客,请务必保留此出处img/20170809/3etrrl0xgqy

下载次数:16
下载地址:点击下载
本资源为程序自动采集,如有侵权请联系我们移除 admin#80vps.com 来信请将#替换为@
下一条 centos系统中网络配置相关
上一条 CentOS 权限管理常用命令

拥有超过10年的业务管理经验。我们是IDC服务和解决方案方面的专家

有任何疑问请不要犹豫,立即点击联系我们