linux学习之旅(五)&用户初探

初探用户


1.用户是什么

用户就是系统使用者的身份

*用户的存储方式:
在系统中用户由若干字符串&若干个系统的配置文件方式存储

  • 用户信息涉及到的系统配置文件及其功能:
    • /etc/passwd ##用户信息,如下:

      //格式– 用户名(name):x(密码):用户ID(Uid):组ID(gid):用户说明(comment):家目录(dir):系统开启时用的shell
    • /etc/shadow //存放用户认证信息,如下:

      //格式– 用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
    • /etc/group ##组信息
    • /etc/gshadow ##组认证信息
    • /home/username ##用户username的家目录
    • /etc/skel/.* ##用户的骨架目录,存放的是用户的配置信息。
      //想让新建的家目录下出现xxx文件夹,需要 mkdir/etc/skel/xxx 然后每个用户新建时自己家目录下就会出现xxx目录

*用户id信息查看:

id  参数  用户  
    -u  ##用户uid  
    -g  ##用户初始组id  
    -G  ##用户所有所在组id  
    -n  ##显示名称而不是id数字  
    -a  ##显示所有信息

  • ID是系统默认的ID,0是超级用户的,1-999是系统级的用户,系统留的 1000-60000 给普通用户的(在 /etc/login.defs 中可以查看,这是已经写好的文件)

2.用户的建立与删除

1.用户建立

useradd 【参数】... 用户名
        -u  ##指定用户uid
        -g  ##指定用户初始组信息(亲爹)
        //这个组必须已经存在才可以指定
        -G  ##指定附加组(干爹)
        //这个组也是必须已经存在才可以指定
        -c  ##用户说明
        -d  ##用户家目录
        -s  ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
        -p      ##修改密码  
        //***tips : -p 这个命令直接用不会生效,因为用户的密码是经过md5算法加密过的,所以直接加会导致密码还是用不了,所以还是要回到passwd或者下面要介绍的方法。

2.用户删除

userdel   【参数】   用户 
     -f      //强制删除用户,即使用户当前已经登陆。
     -r       //删除用户信息及用户的系统配置,包括用户的家目录

3.组的建立

groupadd     -g gid       ##指定gid并建立组
groupdel    组名               ##删除组
*tips:组的出现是为了权力的共享。

*演示:
  • (1)首先用watch命令监控各存放用户信息的文件并查看/home下的用户家目录

    // 命令行中 \ 符号是命令行换行
  • (2)单纯使用useradd
  • (3)加上各种参数

    // 需要先添加用户组。,才可以指定 useradd -g 的内容
*删除用户时,若不加 -r 会出现如图问题:


分析:当删除时,因为没有加参数-r 出现了在/home下还是有yuan这个用户


分析:再次创建这个用户时,即使添加上用户,但是会显示已经存在,即之前没有彻底删除干净

处理办法:
userdel yuan                  
rm -fr /home/yuan               //单独再删除用户的家目录
rm -f  /var/spool/mail/yuan      //记录也删掉

操作之后,就可以彻底删除用户的所有信息了。


3.用户的管理

当然不止创建的时候才可以添加用户信息,针对类似开始不能知道某些用户属性的问题时,系统还提供了修改用户属性的方法: usermod

usermod 【参数】  用户
参数:
    -l  ##更改用户名称
    -u  ##更改uid
    -g  ##更改gid
    -G  ##更改附加组
    -aG ##添加附加组
    -c  ##更改说明
    -d  ##更改家目录指定
    -md ##更改家目录指定及家目录名称
    -s  ##更改shell
    -L  ##冻结帐号
    -U  ##解锁

操作演示:

  • usermod -md /home/xxx 用户名 ##是根本上从路径上和用户名全部改
  • -d改的单独是路径 m相当于mv即重命名
  • -md是一个整体命令 不是-m和-d的组合,它就是单独一条指令
  • usermod -G “” 用户名 ##删除附加组

*tips : 在修改shell时,需要查看/etc/shells

  • /etc/shells 存放的是系统安装过的shell的名字, 其中的…/nologin是不能登陆的shell
  • 在修改用户使用的shell时,只有在这个文件下显示的shell才是可以选择的。
  • 其中,我们使用的命令行就是/bin/bash

*tips :passwd -l 与 usermod -L 的区别 (冻结帐号)
passwd  -l   username  //在加密字符前加 !! 冻结程度高
usermod  -L  username  //在加密字符前加!,不管执行几次,只加一个!, 冻结程度不如passwd 高
passwd  -u   username   // 解冻,可以解开 !!
usermod  -U   username  //解冻 , 一次只能解一个!,如果解passwd的-l需要执行两次 


//只加一个!

//解一个!

//加两个!

//解两个!

所以解锁时,用passwd -u 会更方便~


对用户密码认证信息的详细修改

针对学习之旅(二)的密码修改,基于本章介绍的存放密码信息的结构,下面介绍一个专门用来更改密码详细信息的命令 : chage

用法: chage 参数 用户

参数: 
    -d  ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码 
    -m  ##最短有效期
    -M  ##最长有效期
    -W  ##警告期
    -I  ##用户非活跃天数
    -E  ##帐号到期日格式 -E "YYYY-MM-DD"

//用法同passwd,这里就不具体介绍。


用户权力下放:sudo

1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers

2.下放权力的方法

  • vim /etc/sudoers ——-> 修改
    //这种方法在你改错了又恰巧保存了之后,系统不会提示信息。即对系统配置修改不是很安全。所以系统专门设置了下面这种比较安全的方法:
    • 超级用户身份执行visudo进入编辑/etc/sudoers模式,进行权限的添加或修改。保存退出后错误编辑会有提示。

*具体格式:

##需要密码:
kiosk foudation9.ilt.example.com=(root)  /usr/sbin/useradd 
要下放权力的用户    主机名             =(给予权力的用户) 执行的操作(命令存放绝对路径)                                         ##给普通用户下放了添加用户的权限
##免密:
kiosk foudation9.ilt.example.com=(root)  NOPASSWD:/usr/sbin/useradd, /user/sbin/userdel
                                             免密    :
                                                                      ,(空格)下一个操作                                  ##添加下放了用户删除的权限

3.执行本身没有权限但是在*visudo中添加了的命令*

*按上述第一种方法修改权限(需要密码):

  • 更改完成切换到kiosk普通用户下
  • 执行:
    sudo 命令 【参数】 对象
  • 输入密码,然后完成了之前没有权限的操作。
*注: 下放权限之后,一定是用sudo 操作 去执行。这才是下放权力的用法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值