Linux安全系统的核心就是用户账户,用户对系统中各种对象的访问及操作权限取决于他们登录系统时用的账户,通过创建用户时分配的用户ID(通常缩写UID)来跟踪用户操作权限。
本文将介绍管理账户常用的工具及文件。
- /etc/passwd 文件 查看用户信息
将用户登录名匹配相应的UID值,它包含了一些用户信息:
以冒号为分隔符划为7列,分别是:
登录用户名
用户密码(都用x表示,用户密码一般保存在/etc/shadow文件中)
用户账户UID值
用户账户组ID值(简称GID)
用户账户的文本描述信息
用户HOME目录的路径位置
用户默认的shell
我们可以直接修改此文件,用于添加、删除、修改账户,但极不推荐,这样极其危险,如果出现损坏,会导致用户无法登录。
- useradd添加账户
常用使用方法:
useradd username -m -s /bin/bash -d /home/username -g groupname
参数说明:
-s 指定用户默认的shell,通常会发现一些应用的账户其默认shell设置为/sbin/nologin,其含义是此账户不能进行登录使用,也就是这个用户无法使用bash或其他shell来登陆系统。
-d 设置用户主目录
-g 用户组,默认值是GID=100的公共组
-m 创建用户目录,会在/home下创建一个用户目录
- usermod修改账户
usermod参数众多,非常强大,下面给出一些最常用的实例:
usermod -g group user1 #将user1添加到组group中
usermod -l user2 user1 #修改user1的用户名为user2
usermod -L user1 #锁定账号
usermod -U user1 #解除锁定
usermod -s /sbin/nologin user1 #设置账户不能进行登录使用
usermod -s /bin/bash user1 #账户恢复登录使用
值得注意的是usermod -p用来修改密码,千万谨慎,使用usermod -p 后面的接的并不是明文,而是密文,比如:usermod -p 123 user1,你以为是将user1密码改为123,但登录输入123你会悲催的发现无法登录。
- 专用工具passwd与chpasswd修改密码
Passwd root #修改root密码
passwd -e user1 #强制用户下次登录时修改密码。
注意一点:普通用户只能修改自己的密码,只有root用户才有权限修改其他的密码。
chpasswd用来大批量修改用户密码,它能通过标准输入自动读取用户名与密码
chpasswd < users.txt #users.txt格式为“用户名:密码”
以上就是添加、修改、删除用户的基本操作,限于篇幅本文没有谈linux组的常用操作,后续再表。