一. linux 用户和组的基本介绍

1.linux下 有三种用户:

 1. root: 权限最大的。

 2. 系统用户: UID小于1000的。系统服务管理用户,一般是不允许登录系统的。(比如mysql用户)

 3. 普通用户:(UID大于999的,权限比较小,可以登录,只能使用bin目录下的命令)

2. linux 组

  组: 一个用来保存用户的容器。用来装不同的用户的,没有其他意义(win中 组可能涉及到权限)

  在默认的情况下,新建用户的同时,系统会创建一个同名组,装载这个用户。

  在linux中每个用户必须要 属于一个组, 绝对不能够独立于组外。

  在linux中,每个文件都有所有者,所在组,其他组的概念。

二。用户管理

su - user01  切换到user01用户

1. useradd 新建用户   - create a new user or update default new user infomation

  语法: useradd [option] username

  -c, --comment 描述

  -d, --home HOME_DIR 家目录   (家目录放在哪里)

  -e, expiredate EXPIPE_DATE 过期时间。

  -f, --inactice INACTIVE 是否启用过期机制

  -g, --gid GROUP 指定组的ID号  (不建同名组,进入到其他组里面)

  -G, --groups GROUP1,[GROUP2,...[GROUPN]]] 附加组 (及创建同名组,还附加一些其他组。)

  -m, --create-home  建立家目录

  -M, 不建立家目录

  -N, --no-user-group  不指定用户同名组

  -r, --system  指定该账号是 系统账号

  -s, --shell SHELL 指定登录shell   (-s /sbin/nologin    这个shell就是非交互式的,不允许登录的shell)

  -u, --uid UID 指定用户ID

  -U, --user-group 指定用户创建用户同名组

  -o, 创建用户时可以uid 重复

  密码的设置: passwd -update user's authtications tokens

    passwd [option] username

    -l  lock   锁定用户(不准登录了)

    -u unlock (解锁)

    -d delete a passwd for an account  (删除一个用户的密码,就是无密码)

    -S this will output a short information about the status of the password given account.(显示给定帐户密码状态的简短信息)

    --stdin (标准输入,方式设置密码。)(echo "123" | passwd --stdin user01)

    需要注意一点的就是,在对自己进行修改密码时,就不需要 username 的后缀了。直接写passwd就好了

2. userdel 删除用户  --delete a user account and related files(删除用户以及相关的文件,比如家目录和邮箱等,  /home/user05      /var/mail/usero5)

  userdel [option] username

  -f, --force  强制

  -r, --remove  删除主目录以及邮箱

3. usermod 修改用户属性

  usermod -modify a user acccount

  语法:  usermod [option] username

  -a,  --append

  -L,  --local     锁定

  -U, --unlock   解锁

  -m, --move-home with -d    移动家目录 ( usermod -m -d /home/user01) 指定家目录到/home/user01   。  这种的有一个要求就是 user01  这个目录不能在登录状态,否则是不准使用的。

其他:

查看用户密码的一些信息。

[root@python ~]# passwd -S python_web
python_web PS 1969-12-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

使用change 可以交互的进行设置这些内容。

[root@python ~]# chage python_web
正在为 python_web 修改年龄信息
请输入新值,或直接敲回车键以使用默认值 最小密码年龄 []: 0 # 设置几天之内不能修改代码
最大密码年龄 []: 99999 # 密码的有效期,99999天
最近一次密码修改时间 (YYYY-MM-DD) [-]: 2019-7-02 # 最后一次修改密码的时间
密码过期警告 []: 2 # 过期前2天给与警告
密码失效 [-]: 5 # 密码失效之后,还可以使用几天
帐户过期时间 (YYYY-MM-DD) [-]: --5 # 账号的过期时间。
[root@python ~]# passwd -S python_web
python_web PS 2019-07-02 0 99999 2 5 (密码已设置,使用 SHA512 算法。)

或者不想使用交互式的,可以使用一条命令搞定:

  chage [option] username

  -h, --help display this help message and exit

  -m, 密码可更改的最小天数, 为0时代表任何时候都可以更改密码

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

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

  -E, 账号到期的日期。

  -d, 上一次更改的日期

  -I,(这是 i ) 停滞时期, 如果一个密码已过期之后,还可以使用几天。

  -l, (这是 L)列出当前的设置。

如果想要一个用户在登录某个账户时,强制的让他修改密码。
只需要将最后一次密码的更改时间修改为 0   也就是 -d 这个命令。这样用户在登录时就会强制行的让他修改密码。

4. /etc/passwd 密码文件

  [username]:[password]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]

5. /etc/shadow  影子文件

  用户名:这是用户登陆时使用的用户名,在系统中是唯一的

  口令:存放加密的口令

  最后一次修改的时间:表示从某一时刻开始到用户最后一次修改口令的天数

  最小时间间隔:两次修改口令之间的最小天数

  最大时间间隔:口令保持有效的最多天数,就是多少天之后必须修改口令

  警告时间:从系统开始警告到正式失效的天数

  不活动时间:口令过期多少天后,该账号被禁用

  失效时间:指口令失效的绝对天数(从1970.1.1开始算起)

这俩文件 最好不要修改。

最新文章

  1. 浅谈redis和memcached的区别
  2. less hack 兼容
  3. java之Date
  4. BootLoader 详解(1)
  5. oneThink 数据库连接失败,总提示密码不对的解决办法
  6. ASP.NET对HTML元素进行权限控制(一)
  7. Jquery Ajax时 error处理 之 parsererror
  8. swift 手势之UIPanGestureRecognizer
  9. Oracle_单行函数
  10. MongoDB 如何实现备份压缩
  11. Hillstone基础上网配置
  12. flex实现三栏等分布局
  13. 十四、MVC的WEB框架(Structs2)
  14. summary_16th Nov, 2018
  15. 20155219 2016-2017-2 《Java程序设计》第5周学习总结
  16. ns3的输入输出奥秘(三) Tracing系统
  17. 加载JS代码
  18. Framwork框架日志与配置工具的使用
  19. 必须掌握的前端模板引擎之art-template
  20. Unity3d地图制作之模型高光

热门文章

  1. 编译参数(-D)
  2. R语言:怎么进行异常检测
  3. 中间件 | kafka简介、使用场景、设计原理、主要配置及集群搭建
  4. Css设置字体
  5. smb服务问题解析,区别红帽6和CentOS7
  6. LC 901. Online Stock Span
  7. jQuery常用AJAX-API
  8. MATLAB学习(十)实现文件、图像读写
  9. ElasticSearch——常用命令
  10. MongoDB导入文件夹(内含json和bson文件)