第1章 Centos系统用户基本信息
1.1 /etc/passwd
Centos系统的用户基本基本信息放在/etc/passwd,这个文件急用用户用于被系统识别的各类信息,大概内容如下:
[root@centos7-5 ~]# cat /etc/passwd
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
可以看出文件第一行是root超级管理员用户的信息,各项信息由“:”隔开,分别表示的意思是“用户名:密码占位符:用户名UID:用户默认GID:用户详细信息(名称,电话等):用户家目录:登录shell”
1.1.1 用户名:
用户名:登录名,标识身份的字符串,必须是唯一的,区分大小写。
用户名第一个字符使用范围:a—z_ ,用户名字符使用范围:a—z0—9_- 。
用户名取名原则:
-
用户名在设备上拥有的用户名是相同的。
-
特殊用户名对应的是同一个人(一般情况非root用户适用这个原则)
如果用户名设置不严谨可能会让其他人不需要密码登录到另一个人的账号。
1.1.2 密码占位符
早起linux系统中,密码口令是放在这里的,但是因为明文不安全,所以使用密码占位符替代了加密口令,实际上加密的口令存放在了/etc/shadow
1.1.3 用户名UID
每个用户都有一个UID,UID是用户的唯一标识。
UID通常是32位整数,软件和文件系统都是使用UID
超级管理员root的UID默认0 , 才centos7为新用户分配UID默认从1000开始(早期系统是从500开始)
1.1.4 用户默认GID
是组的UID,与UID类似,root的GID默认也是0 。
用户组在/etc/group 记录。用户组一般用来赋予用户文件权限
1.1.5 用户详细信息(名称,电话等)
用户个人信息:
全名
办公室房间号和楼号
办公室电话分机
家中电话号码
可以使用命令chfn [用户名] 添加相关信息,添加之后在/etc/passwd 展示
1.1.6 用户家目录
用户主目录,用户登录之后的默认目录,
1.1.7 登录shell
命令解释器,一般情况是/bin/sh 或者 /bin/bash ,实际上可以是任何程序。
1.2 /etc/shadow
[root@centos7-5 ~]# ll /etc/shadow
----------. 1 root root 689 Mar 17 01:51 /etc/shadow
只有root用户可以查看/etc/shadow文件 , 用于保护加密口令的安全,文件内容由“:”隔开,含义:“登录名:加密后的口令:上次修改口令的时间:两次修改口令之间的最小天数:两次修改口令之间的最多天数:提前多少天告警用户口令即将过期:在口令过期后多少天禁用账号:账号过期日期:保留字段”
在/etc/shadow中指定的绝对时间是从1970年1月1号至今的天数。
登录名:登录名与/etc/passwd登录名相同
加密后的口令:是密码通过加密得到
上次修改口令的时间:指加密口令上次被修改的时间
两次修改口令之间的最小天数:密码修改最少需要等待多少天,一旦发生密码泄露,这个功能就显得很chaodan,建议修改为0
两次修改口令之间的最多天数:表示口令允许修改的最大天数,当前口令允许使用的最大天数是“两次修改口令之间的最多天数”+“在口令过期后多少天禁用账号”得到
提前多少天告警用户口令即将过期:在口令到期前多少天,在用户登录时提示用户修改密码
在口令过期后多少天禁用账号:在达到最大的口令禁用天数之后,登录账户禁用必须等待的天数
账号过期日期:用户禁用天数,从1970年一月一日开始
1.3 /etc/group
/etc/group包含了组的名称和组成员
[root@centos7-5 ~]# cat /etc/group
root:x:0:
bin:x:1:
/etc/group包含了四个字段,分别为:“组名:加密口令或者占位符:GID:组成员列表”
加密口令/etc/gshadow 一个组可以有多个成员,但是一个
第2章 如何添加、修改、删除用户,修改密码
Centos上可以使用useradd 、 adduser添加用户,adduser是一个Perl程序
2.1 useradd 创建用户
useradd****命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd
文本文件中。
在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser****命令则是useradd命令的符号连接,两者实际上是同一个指令。
2.1.1 语法格式:
useradd(选项)(参数)
2.1.2 参数选型
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。
2.1.3 参数
用户名:要创建的用户名。
2.1.4 实例
新建用户加入组:
useradd –g sales jack –G company,employees //-g:加入主要组、-G:加入次要组
建立一个新用户账户,并设置ID:
useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。
2.2 usermod 修改用户信息
usermod****命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定
2.2.1 语法格式:
usermod(选项)(参数)
2.2.2 参数选型
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
2.2.3 参数
登录名:指定要修改信息的用户登录名。
2.2.4 实例
将newuser2添加到组staff中:
usermod -G staff newuser2
修改newuser的用户名为newuser1:
usermod -l newuser1 newuser
锁定账号newuser1:
usermod -L newuser1
解除对newuser1的锁定:
usermod -U newuser1
2.3 userdel 删除用户
userdel****命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件
2.3.1 语法格式:
userdel(选项)(参数)
2.3.2 参数选型
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
2.3.3 实例
userdel命令很简单,比如我们现在有个用户linuxde,其家目录位于/var
目录中,现在我们来删除这个用户:
userdel linuxde //删除用户linuxde,但不删除其家目录及文件;
userdel -r linuxde //删除用户linuxde,其家目录及文件一并删除;
请不要轻易用-r
选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。
其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/
passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd
是极为重要的文件,可能您一不小心会操作失误。
2.4 passwd 修改用户密码
passwd****命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
2.4.1 语法格式:
passwd(选项)(参数)
2.4.2 参数选型
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
2.4.3 参数
用户名:需要设置密码的用户名。
2.4.4 实例
如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
[root@localhost ~]# passwd linuxde //更改或创建linuxde用户的密码;
Changing password for user linuxde.
New UNIX password: //请输入新密码;
Retype new UNIX password: //再输入一次;
passwd: all authentication tokens updated successfully. //成功;
普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。
[linuxde@localhost ~]$ passwd
Changing password for user linuxde. //更改linuxde用户的密码;
(current) UNIX password: //请输入当前密码;
New UNIX password: //请输入新密码;
Retype new UNIX password: //确认新密码;
passwd: all authentication tokens updated successfully. //更改成功;
比如我们让某个用户不能修改密码,可以用-l
选项来锁定:
[root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码;
Locking password for user linuxde.
passwd: Success //锁定成功;
[linuxde@localhost ~]# [su](http://man.linuxde.net/su "su命令") linuxde //通过su切换到linuxde用户;
[linuxde@localhost ~]$ passwd //linuxde来更改密码;
Changing password for user linuxde.
Changing password for linuxde
(current) UNIX password: //输入linuxde的当前密码;
passwd: Authentication token manipulation error //失败,不能更改密码;
清除密码
[root@localhost ~]# passwd -d linuxde //清除linuxde用户密码;
Removing password for user linuxde.
passwd: Success //清除成功;
[root@localhost ~]# passwd -S linuxde //查询linuxde用户密码状态;
Empty password. //空密码,也就是没有密码;
注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意
第3章 如果添加、删除组
3.1 groupadd 创建新的用户组
groupadd****命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
3.1.1 语法格式:
groupadd(选项)(参数)
3.1.2 参数选型
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
3.1.3 参数
组名:指定新建工作组的组名。
3.1.4 实例
建立一个新组,并设置组ID加入系统:
groupadd -g 344 linuxde
此时在/etc/
passwd文件中产生一个组ID(GID)是344的项目。
3.2 groupdel 删除用户组
groupdel****命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组
3.2.1 语法格式:
groupdel(参数)
3.2.2 参数
组:要删除的工作组名。
3.2.3 实例
[groupadd](http://man.linuxde.net/groupadd "groupadd命令") damon //创建damon工作组
groupdel damon //删除这个工作组
网友评论