14. Linux下的用户管理


读书笔记


用户管理:

1.Linux下有三类用户

  1.超级用户:root 具有操作系统的一切权限 UID 值为0



  2.普通用户:普通用户具有操作系统有限的权限 UID值从500--6000



  3.伪用户: 是为了方便系统管理,满足相应的系统进程文件属主的要求,不能登陆, UID 值为1--499



2.用户管理通过passwd文件管理

  passwd  /etc/passwd  用于定义系统的用户帐号,由于所有用户对这个目录都有读的权限,所以只定义帐号,不定义口令。

[root@localhost ~]# ll /etc/passwd

-rw-r--r-- 1 root root 1719 10-06 15:14 /etc/passwd



用vi打开passwd文件,一行代表一个用户。:把它分七部分

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

  帐号名称:  root

  用户密码:  x  [x说明有密码,只不过不在这个文件里定义,只是告诉这是一个密码位,如果把x删掉用root登陆就没有密码了。]

  用户标识码:0 (用户UID)

   组标识码 :0(用户组ID)

  用户相关信息:root 

  用户家目录: /root [用户登陆时所在的目录]

  用户环境: 用户所使用的shell /bin/bash



UID 1--499 .为伪帐号,是为某些特定软件而定制的。不能登陆。


3.密码文件

  /etc/shadow  这个文件只有root用户才可以读。

[root@localhost ~]# ll /etc/shadow

-r-------- 1 root root 1117 10-06 15:14 /etc/shadow



 用vi 打开/etc/shadow 。此文件用:把文件间隔9个字段组成。



  1  root:$1$hbsKmww4$pZQzEV7NzEMlVSfJ/DWTx/:14888:0:99999:7:::

  36 gdm:!!:14827:0:99999:7:::

  37 sabayon:!!:14827:0:99999:7:::

  38 yangyi:$1$TjdfdUiE$7NdzPeiTsii2Z0Z4M4QbK/:14888:0:99999:7:::

 

  用户名[帐号]:root/yangyi

  口令:用来存放加密的口令,是用MD5加密过的,如果这个口令的第一个字符是!,则这个用户不能登陆

  最后一次密码修改时间:时间邮戳,从1970年1月1日到最后一次密码修改的秒数。

  最大时间间隔:0表示随时可以被更改,5表示5天后才能被修改。

  最小时间间隔: 99999表示永远不过期,10表示10就要换一次密码。

  警告时间:默认值是一周。这是跟“最小时间间隔”相对应的,如果最小时间间隔设置为10天,表示密码10天过期,那么这时,把警告时间设置为7天,那么,7天后就会发出警告说密码还有3天过期

  不活动时间:密码如果过期后,可以延迟的时间,如果还不修改密码,这个帐号就会被禁用了。

  失效时间: 从给定分配这个帐号的失效时间。</span>


账户管理

一.用户帐号管理
 创建帐户:
(1).在/etc/passwd文件中添加一条记录(7个字段)
(2).创建用户主目录
(3).在用户主目录中设置默认的配置文件
(4).设置用户初始口令

1. useradd 或者adduser 命令创建用户  
  
[root@localhost ~]# uaeradd -u 600 -g 500 -G 501 -d /home/www -s/bin/sh -c mynet linux
-u表示UID的值,如果不指定,它就自动从上一个普通的目录UID的值加1,然后记录下来。500到6000之间
-g指定新用户所在的组,但是这个组必须存在。
-G指定新用户的附加组,因为一个用户可以在多个组里面
-d指定新用户的主目录在哪。root用户的主目录在/root下,那么可以指定redhat的家目录可以  在/home/www目录下。就不会是默认的redhat目录名了。
-s指定shell
-c指定它的全名。

2. 建立完用户,默认是不可登陆的,因为密码上有!
  passwd linux 为linux创建密码。

[root@localhost home]# passwd linux
Changing password for user linux.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.密码创建成功。

现在可以看一下/etc/shadow下的linux的密码位为不是!了。表明密码创建成功。
[root@localhost home]# tail -2  /etc/shadow
yangyi:$1$TjdfdUiE$7NdzPeiTsii2Z0Z4M4QbK/:14888:0:99999:7:::
linux:$1$z1i1x0Lp$ZjdYi98U6E.UHad/8QSIk/:14901:0:99999:7:::

3. 帐户的删除
  userdel   用户名
如:userdel linux  则linux用户已经被删除了。所有在/etc/passwd和/etc/shadow的记录也被删除。但是它的家目录www没有被删除。因为可能虽然用户被删掉了。但是可能它里面的数据可能是有用的,可以手动删除。

 userdel -r linux  这样删除这个用户所有的一切,包括家目录www。

4.帐户的修改与锁定
usermod -l 新用户名 要改的老用户名
usermod -l red redhat  就将redhat改成red。只是单纯的改变登录名,其他的什么家目录啊什么的都不变。

usermod -L red   将用户red进行锁定。

[root@localhost ~]# tail -5 /etc/shadow
 red:!$1$TBPVYi6v$d.s8e5CBvSvlrumjVf/bd1:14901:0:99999:7::: 发现密码前面有个!,说明被锁定。


usermod -U red   将用户red解锁

5.帐户的停用
  最简便的方法就是用vi打开/etc/passwd ,在需要停用的帐号前加一个#,就注释掉这个用户,把#去掉 ,这个帐户就又可以用了。

6.锁定口令
 passwd 在后面不加用户的情况下就为当前用户设定密码。
 passwd -S red 查看red用户的密码状况。
[root@localhost ~]# passwd -S red
 red PS 2010-10-19 0 99999 7 -1 (Password set, MD5 crypt.)

passwd -l red  密码锁定,锁定了red帐户的密码
passwd -u red  解锁密码。
可以用passwd 加密后 用usermod解密两次也可以解锁</span>


用户组管理

1.用户组的管理
 用户组分为两类
       
 私有组:当在创建一个新的用户user时,若没有指定他属所属的组,Linux就建立一个和该用户同名的私有组
       
 标准组:标准组可以容纳多个用户,若使用标准组,在创建 一个新的用户时就指定该用户所属于的组。
  
2.查看组的信息:
   /etc/group   

用vi打开/etc/group文件,可以看到文件由三个冒号:分为四个部分
   
      1 root:x:0:root
      2 bin:x:1:root,bin,daemon
      3 daemon:x:2:root,bin,daemon
      4 sys:x:3:root,bin,adm
      5 adm:x:4:root,adm,daemon
  
    1.组名称:用户登陆时所在的组名。
    2.组口令:一般不使用
    3.组ID(GID):组标识号
    4.组内用户列表:属于该组的所有用户名表。

3.添加用户组
  useadd 用户名user  一个组和用户名同名user   私有组  自动创建的
  
  groupadd 组帐号名 该组帐号必须大于500. 


4.改变组的帐号名称
  groupmod -n 新的组名 老的组名

5.删除组帐号

  groupdel 组的帐号名称   
  注意:删除的帐号,必须存在且不能作为私有组被用户帐号引用。

6. 将帐户放进组里面

  1.在创建新的用户时候 用: useradd -g mygroup newuser1   就将新建的一个用户newuser1加入到已经创建好的组mygroup中了
                            useradd -g mygroup newuser2
                            useradd -g mygroup newuser3
                            useradd -g mygroup newuser4   也是一样的,将newuser234也加入到组

  2.将已经存在的用户加入组:

     gpasswd -a  用户帐号 组名

 查看某个用户属于那个组   groups 用户名

    gpsswd -d 用户帐号  组名  将某用户从一个组中删除

7.一些命令
 

  id 命令
  功能:查看一个用户的UID和GID
  格式: id [选项] 用户名

[root@localhost ~]# id yangyi
uid=501(yangyi) gid=501(yangyi) groups=501(yangyi) context=root:system_r:unconfined_t:SystemLow-SystemHigh

  id -g yangyi  只显示用户组的ID
  id -G yangyi  只显示用户附加组的ID信息
  id -u yangyi  只显示用户的ID


 finger 命令:
 功能:可以查看用户的相关信息,包括用户的组目录,启动shell,用户名等。
 格式:finger [参数] 用户名





结束。


你可能感兴趣的:(14. Linux下的用户管理)