账号和管理权限

一、管理用户账号和组账号

1、用户的分类

1.1、linux用户三种角色

  1. 超级用户: root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高 无上的权限,类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统 管理、维护任务时,才建议使用 root 用户登录系统,日常事务处理建议只使用普 通用户账号。
    root 拥有对系统的最高的管理权限 ID=0
  2. 普通用户:普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受 到一定限制,一般只在用户自己的宿主目录中拥有完整权限
    系统用户 UID:1-999(centos7 版本) 1-499(centos6 版本) 
    UID:即每个用户的身份标示,类似于每个人的身份证号码.
  3. 程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等
    伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache

2、组账号

组账号有基本组和附加组之分,基于某种特定联系(如都需要访问 FTP 服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。

基本组:每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);

附加组:若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。

这里可以做一个类比:

例如,用户 zhangsan 是技术部的员工,与部门内的其他同事同属于基本组 tech,后来因工作安排需要,公司将 zhangsan 加入邮件管理员组 mailadm,则此时用户 zhangsan 同时属于 tech、mailadm 组,tech 组是其基本组账号,而 mailadm 组是其附加组账号。
对组账号设置的权限将适用于组内的每一个用户账号。

3、UID和GID

UID:即每一个用户的身份标识,类似于每个人的身份证号

超级用户的UID是0

普通用户的UID(Centos7)1000+  (Centos6) 500+

程序用户的UID (Centos7)1-999 (Centos6) 1-499

GID:为了提高处理效率,每个用户组也会有一个唯一的数字ID,称为组ID(GID)

系统组GID:1-499(Centos6),1-999(Centos7)

普通组GID:500+(Centos6),1000+(Centos7)

4、passwd文件账号记录详细说明

例:root:x:0:0:root:/root:/bin/bash

1.root:用户名,用户名仅是为了方便用户记忆,其实linux系统是通过UID来识别用户身份,分配用户权限的

2.x:表示用户设有密码,但x不是真正的密码,真正的密码保存在/etc/shadow

Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大程度保证密码的安全。

注意:如果把x删除,系统会认为不需要密码也能登陆,不过远程是不可以的

3.0:第一个0是用户账号的UID

4.0:第二个0是所属基本组账号的GID

5.root:描述性信息,此字段只是用来解释这个用户的意义

6./root:宿主目录,即该用户登录后所在的默认工作目录,宿主目录通常称为家(主)目录,root主目录是/root,普通用户的主用户是/home/...

7./bin/bash:录shell等信息,用户完成登录后使用的

详细讲解一下/etc/shadow

www:$6$Ej9oHYsv$xRHUEGs.HPwfNhOBpVhVcLpoX4Xl41B6Dq2K/J9SbGjLdFyKiuwySh/qb/MFrTtByHrXveNR5qlqFuqOIAi8S/:19926:0:99999:7:::
 

第一列:账号名www

第二列:存放的真正的密码,采用sha512散列算法。!!和*表示没有密码不能登录,新建用户也是!!,如果密码面前显示双感叹号表示该用户被锁定

第三列:上一次修改密码的时间,date -d "1970-01-01 第三列数字  days"可以查看哪一天改过

第四列:多久之后可以修改密码,如果是0,则密码可以随时修改,如果是10,则表示密码修改十天后不能修改密码

第五列:密码有效期,默认99999(273年)

第六列:密码到期前的第几天发出告警信息

第七列:密码过期的宽限天数,这段时间还是可以登录的

第八列:账号失效时间

第九列:保留,未使用

4.1chage命令:用来修改账号和密码的有效期限,针对目前系统已存在的用户

格式:chage  [选项]  用户名

常用选项:

-m:密码可更改的最小天数。为零时表示任何时候都可以更改密码

-M:密码保持有效的最大天数

-w:用户密码到期前,提前收到警告信息的天数

-E:账号到期的日期。过了这天,账号将不可用

-d:上一次更改的日期

-i:宽限天数

 -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

示例:直接就不需要密码了

[root@admin ~]# chage -d 0 www
[root@admin ~]# su www
[www@admin root]$ su root

总结:

        第三个字段为:密码最后一次修改的时间      (chage -d)

            第四个字段为:密码最小修改间隔时间         (chage -m)

            第五个字段为:密码的有效期                       (chage -M)

            第六个字段为:密码需要变更前的警告天数  (chage -W)

            第七个字段为:密码过期后的宽限天数         (chage -I)

            第八个字段为:账号失效时间                       (chage -E)
 

拓展:为什么会创建家目录?方便用户存储文件和数据

为什么UID从1000开始,UID最大是多少,UID1000以前是系统保留,最大是6万

是由  /etc/login.defs这个文件配置的

5.useradd命令

格式:useradd 【选项】 用户名

常用选项:

-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。  
-g:指定用户的基本组名(或使用 GID 号)。 
-G:指定用户的附加组名(或使用 GID 号)。 
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。 
-s:指定用户的登录Shell。/sbin/nologin 不允许登录
 

6.passwd命令

格式:passwd [选项] 用户名

常用选项:

-d:清空用户指定密码,仅使用用户名即可登录系统

-l:锁定用户账号(即禁止用户登陆系统)

-S:查看用户账号的状态(是否被锁定)

-u:解锁用户账号

--stdin:这个选项可以将文本里的密码输入给用户

示例:

[root@qqq home]# passwd --stdin admin1
Changing password for user admin1.
123456

用--stdin

[root@qqq ~]# echo "1234567" | passwd --stdin admin1
Changing password for user admin1.
passwd: all authentication tokens updated successfully.
[root@qqq ~]# 

7.usermod命令

格式:usermod 【选项】 用户名

常用选项:

 -l:更改用户账号的登录名称(Login Name)。 
 -L:锁定用户账户。 注意:没有密码是所不起来的
 -U:解锁用户账户
-u:修改用户的 UID 号。  
-d:修改用户的宿主目录位置。 
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 
-g:修改用户的基本组名(或使用 GID 号)。 
-G:修改用户的附加组名(或使用 GID 号)。
-s:指定用户的登录 Shell。 

-a:添加附加组。

示例:

[root@qqq ~]# usermod -u 1999 admin1 
[root@qqq ~]# id admin1
uid=1999(admin1) gid=1002(admin1) groups=1002(admin1)

使用-l选项更改了用户名,但是后来发现用户实际改了,但是没有显示出来,后面也尝试登陆旧用户名了

[root@qqq home]# 
[root@qqq home]# sudo usermod -l admin2 admin1
[root@qqq home]# ls
admin1  anmin1  wanganmin
[root@qqq home]# su admin2
[admin2@qqq home]$ exit

然后发现,你想要完全删除admin2(admin1删不了)是不好删除的,会留下一个组账号admin1,所以你下次想创建admin1可以用-g命令

[root@qqq /]# cd
[root@qqq ~]# useradd admin1
useradd: group admin1 exists - if you want to add this user to that group, use -g.
[root@qqq ~]# useradd -g admin1 admin1
[root@qqq ~]# cd /home
[root@qqq home]# ls
admin1  anmin1  wanganmin
[root@qqq home]# su admin1
[admin1@qqq home]$ exit
exit

8.userdel命令

格式:userdel [选项] 用户名

userdel [-r] 用户名

添加-r选项,表示连用户的宿主目录一同删了

9、用户账号的初始配置文件

添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文 件。这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件,较常用的初始配置文件 包括“.bash_logout”、“.bash_profile”和“.bashrc”。

其中,“.bash_profile”文件中的命令将在该 用户每次登录时被执行;“.bashrc”文件中的命令会在每次加载“/bin/Bash”程序(当然也包括登 录系统)时执行;而“.bash_logout”文件中的命令将在用户每次退出登录时执行。
 

[anmin1@qqq ~]$ vim .bashrc
[anmin1@qqq ~]$ 
[anmin1@qqq ~]$ 
[anmin1@qqq ~]$ 
[anmin1@qqq ~]$ sourch .bashr
bash: sourch: command not found...
[anmin1@qqq ~]$ sourch .bashrc 
bash: sourch: command not found...
[anmin1@qqq ~]$ source .bashrc 
[anmin1@qqq ~]$ myls
total 0
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Desktop
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Documents
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Downloads
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Music
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Pictures
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Public
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Templates
drwxr-xr-x. 2 anmin1 anmin1 6 Jul 10 07:05 Videos
[anmin1@qqq ~]$ 

10、组账号

1./etc/group  //组账号保存的基本信息

2./etc/gshadow   //保存的组账号的密码等信息(很少用到)

10.1groupadd命令

格式:groupadd -g GID 组账号

10.2gpasswd命令

-a:添加用户到组//最常用

-d:从组删除用户 
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

示例:

useradd mike
gpasswd -a mike root  #确认mike 用户已加入 root 组
groups mike    

gpasswd -d webmaster root  #//确认webmaster 用户已退出 root 组
正在将用户“webmaster”从“root”组中删除

gpasswd -M root,daemon,webmaster,mike adm 
grep "^adm" /etc/group 
adm:x:4:root,daemon,webmaster,mike
 

10.3groupdel命令

格式:groupdel 组账号

10.4groups 命令

groups  用户名

11.finger命令

格式:finger 用户名

查询用户账号的详细信息

w、who、users #这三个命令查询已登录到主机的用户信息

通常使用tty来简称各种类型的终端设备,Centos7系统, tty1表 示图形界面,tty2-tty6表示 文字界面,可以用Ctrl+Alt+F1-F6切换。

按Ctr1+A1t+F2登陆, 执行w命令,查看使用的终端就是tty2

User:登录用户名
TTY:登录后系统分配的终端号
From:远程主机名,即从哪登录的
login@:何时登录
IDLE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。
JCPU:和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间
PCPU:当前进程所占用时间
WHAT:当前正在运行进程的命令行

pts说明是用远程工具连接的,比如1xshell,后面的数字代表登录的时间顺序,越小证明登录的越早


二、管理目录和文件的属性

1、访问权限

root 用户、root 组
如“drwxr-xr-x”和“-rw-r--r--”。权限字段由四部分组成,各 自的含义如下所述。 
第 1 个字符:表示该文件的类型,可以是 d(目录)、b(块设备文件)、c(字符设备文 件)、“-”(普通文件)、字母“l”(链接文件)等。 
第 2~4 个字符:表示该文件的属主用户(User)对该文件的访问权限。 
第 5~7 个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限。 
第 8~10 个字符:表示其他任何用户(Other)对该文件的访问权限。 
第 11 个字符:这里的“.”与 SELinux 有关,目前不必关注
 

1.1chmod命令

格式1:

chmod [ugoa] [+-=] [rwx] 文件或目录

ugoa:分别代表属主,属组,其他用户,所有用户

+-=:分别代表增加、去除、设置权限

rwx:分别代表读、写、运行权限

格式2:chmod nnn 文件或者目录 

nnn代表三位八进制

1.2chown命令

chown  名字  目标目录  //改属主

chown :名字 目标目录   //改属组

chown 名字:名字  目标目录  //都改

chown  -R  名字  目标目录  //递归创造目录

1.3umask命令

正常创建目录,权限在755

正常创建文件,权限在644

可以使用umask反过来创建目录和文件

比如:umask   000

创建的目录或者文件权限都是777

补充:last

last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-adioxFw] [username..] [tty..]

  last作用是显示近期用户或终端的登录情况。通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接系统。

  执行last命令时,它会读取/var/log目录下名称为wtmp的文件,并把该文件记录的登录系统或终端的用户名单全部显示出来。默认显示wtmp的记录,btmp能显示的更详细,可以显示远程登录,例如ssh登录。

-num |-n num指定输出记录的条数
-f file 指定记录文件作为查询的log文件
-t YYYYMMDDHHMMSS 显示指定时间之前的登录情况
username 账户名称<br>tty 终端机编号
(1).选项

-R 不显示登录系统或终端的主机名称或IP
-a 将登录系统或终端的主机名过IP地址显示在最后一行
-d 将IP地址转成主机名称
-I 显示特定IP登录情况。
-o 读取有linux-libc5应用编写的旧类型wtmp文件
-x 显示系统关闭、用户登录和退出的历史
-F 显示登录的完整时间
-w 在输出中显示完整的用户名或域名
(2).实例

第一列:用户名

第二列:终端位置(pts/0伪终端,意味着从SSH或telnet等工具远程连接的用户,图形界面终端归于此类。tty0直接连接到计算机或本地连接的用户。后面的数字代表连接编号)

第三列:登录IP或内核(如果是:0.0或者什么都没有,意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中)

第四列:开始时间

第五列:结束时间(still login in尚未退出,down直到正常关机,crash直到强制关机)

第六列:持续时间

案列1
指定显示记录的数量(显示记录中最后登录的数量)

last -n 10
last -10

指定查询的文件,原本默认的是wtmp

last -10 -f /var/log/btmp

将IP 地址转换为主机地址
last -10 -d

 显示指定时间之前的记录


 
 last -10 -t 20180425000000  //之所以展示出来是为了提醒下-t后面的时间写法
 
 

  • 18
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值