linux用户管理

1、/etc/passwd 文件
root用户账户是Linux系统的管理员,固定分配给它的UID是0。
Linux系统会为各种各样的功能创建不同的用户账户,而这些账户并不是真的用户。这些账户叫作系统账
户,是系统上运行的各种服务进程访问资源用的特殊账户。所有运行在后台的服务都需要用一个
系统用户账户登录到Linux系统上。
Linux为系统账户预留了500以下的UID值。有些服务甚至要用特定的UID才能正常工作。
为普通用户创建账户时,大多数Linux系统会从500开始,将第一个可用UID分配给这个账户。
/etc/passwd文件
的字段包含了如下信息:
登录用户名
用户密码
用户账户的UID(数字形式)
用户账户的组ID( GID)(数字形式)
用户账户的文本描述(称为备注字段)
用户HOME目录的位置
用户的默认shell

/etc/passwd文件中的密码字段都被设置成了x


2、/etc/shadow 文件
/etc/shadow文件为系统上的每个用户账户都保存了一条记录。
每条记录中都有9个字段:
与/etc/passwd文件中的登录名字段对应的登录名
加密后的密码
自上次修改密码后过去的天数密码(自1970年1月1日开始计算)
多少天后才能更改密码
多少天后必须更改密码
密码过期前提前多少天提醒用户更改密码
密码过期后多少天禁用用户账户
用户账户被禁用的日期(用自1970年1月1日到当天的天数表示)
预留字段给将来使用


3、添加新用户
用来向Linux系统添加新用户的主要工具是useradd。
useradd命令使用系统的默认值以及命令行参数来设置
用户账户。系统默认值被设置在/etc/default/useradd文件中。可以使用加入了-D选项的useradd
命令查看所用Linux系统中的这些默认值

/etc/skel目录
useradd命令允许管理员创建一份默认的HOME目录配置,然后把
它作为创建新用户HOME目录的模板。这样就能自动在每个新用户的HOME目录里放置默认的系
统文件。
# useradd -m test
# ls -al /home/test

[root@wpaliyun ~]# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc
默认情况下, useradd命令不会创建HOME目录,但是-m命令行选项会使其创建HOME目录。
useradd命令创建了新HOME目录,并将/etc/skel目录中的文件复制了过来。

useradd命令行参数
-c comment 给新用户添加备注
-d home_dir 为主目录指定一个名字(如果不想用登录名作为主目录名的话)
-e expire_date 用YYYY-MM-DD格式指定一个账户过期的日期
-f inactive_days 指定这个账户密码过期后多少天这个账户被禁用; 0表示密码一过期就立即禁用, 1表示
禁用这个功能
-g initial_group 指定用户登录组的GID或组名
-G group ... 指定用户除登录组之外所属的一个或多个附加组
-k 必须和-m一起使用,将/etc/skel目录的内容复制到用户的HOME目录
-m 创建用户的HOME目录
-M 不创建用户的HOME目录(当默认设置里要求创建时才使用这个选项)
-n 创建一个与用户登录名同名的新组
-r 创建系统账户
-p passwd 为用户账户指定默认密码
-s shell 指定默认的登录shell
-u uid 为账户指定唯一的UID

可以在-D选项后跟上一个指定的值来修改系统默认的新用户设置。
useradd更改默认值的参数
-b default_home 更改默认的创建用户HOME目录的位置
-e expiration_date 更改默认的新账户的过期日期
-f inactive 更改默认的新用户从密码过期到账户被禁用的天数
-g group 更改默认的组名称或GID
-s shell 更改默认的登录shell


4、删除用户
从系统中删除用户, userdel可以满足这个需求。默认情况下, userdel命令会只
删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。
如果加上-r参数, userdel会删除用户的HOME目录以及邮件目录。然而,系统上仍可能存
有已删除用户的其他文件。这在有些环境中会造成问题。
userdel -r wp

5 修改用户
用户账户修改工具
usermod 修改用户账户的字段,还可以指定主要组以及附加组的所属关系
passwd 修改已有用户的密码
chpasswd 从文件中读取登录名密码对,并更新密码
chage 修改密码的过期日期
chfn 修改用户账户的备注信息
chsh 修改用户账户的默认登录shell

usermod
它能用来修改/etc/passwd文件中的大部
分字段,只需用与想修改的字段对应的命令行参数就可以了。
-l修改用户账户的登录名。
-L锁定账户,使用户无法登录。
-p修改账户的密码。
-U解除锁定,使用户能够登录。
    -L选项尤其实用。它可以将账户锁定,使用户无法登录,同时无需删除账户和用户的数据。
要让账户恢复正常,只要用-U选项就行了。

passwd
如果只用passwd命令,它会改你自己的密码。系统上的任何用户都能改自己的密码,但只
有root用户才有权限改别人的密码。
passwd wp1
-e选项能强制用户下次登录时修改密码。你可以先给用户设置一个简单的密码,之后再强制
在下次登录时改成他们能记住的更复杂的密码

chpasswd
如果需要为系统中的大量用户修改密码, chpasswd命令可以事半功倍。 chpasswd命令能从
标准输入自动读取登录名和密码对(由冒号分割)列表,给密码加密,然后为用户账户设置。你
也可以用重定向命令来将含有userid:passwd对的文件重定向给该命令。
# chpasswd < users.txt
#


6、使用 Linux 组
每个组都有唯一的GID——跟UID类似,在系统上这是个唯一的数值。除了GID,每个组还
有唯一的组名。 

/etc/group 文件
/etc/group文件包含系统上用到的每个组的信息。

初始组    useradd -m wp1 -g 1001
附加组    usermod -G 1000 wp1
千万不能通过直接修改/etc/group文件来添加用户到一个组,要用usermod命令

groupadd命令可在系统上创建新组。
为用户账户分配组时要格外小心。如果加了-g选项,指定的组名会替换掉该账户的初始
组。 -G选项则将该组添加到用户的附加组的列表里,不会影响初始默认组。

groupmod命令可以修改已有组的
GID(加-g选项)或组名(加-n选项)。
# /usr/sbin/groupmod -n sharing shared
修改组名时, GID和组成员不会变,只有组名改变。由于所有的安全权限都是基于GID的,
可以随意改变组名而不会影响文件的安全性。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值