一、用户账号管理

与用户相关的配置文件有两个,分别是 /etc/passwd 和 /etc/shadow 。前者用于保存用户名称,宿主目录、登录shell等基本信息,后者用于保存用户密码、账号有效期等信息。

/etc/passwd文件的每一行内容中包含了七个用 :分隔的配置字段,从左到右各配置字段的含义分别如下:

第一个字段:用户账号的名称,也是登录系统时使用的识别名称;

第二个字段:经过加密的用户密码字串,或者密码占位符 “x”;

第三个字段:用户账号的UID;

第四个字段:所属基本组账号的GID;

第五个字段:用户全名,可填写与用户相关的说明信息;

第六个字段:宿主目录;

第七个字段:登录shell等信息,用户完成登录后使用的shell;

/etc/shadow文件中保存了各用户账号的密码等信息,共九个字段,从左到右各配置字段的含义分别如下:

第一个字段:用户账号名称;

第二个字段:被加密 过的密码,若显示为 “!!”或星号,则表示为此用户不能登录到系统 ,若为空,则表示该字段不需要密码即可登录到系统。

第三个字段:上次修改密码的时间;

第四个字段:密码的最短有效天数,就是自本次修改密码后,必须经过该天数才可再次修改密码,默认为0,表示不进行限制;

第五个字段:密码的最长有效天数,就是自本次修改密码后,经过该天数后必须再次修改密码,默认为99999,表示不进行限制;

第六个字段:提前多少天警告用户密码将过期,默认值为7;

第七个字段:在密码过期多少天内禁用此用户;

第八个字段:账号失效时间,默认为空,表示账号永久可用;

第九个字段:保留字段,目前没有特定用途;

useradd命令——添加用户账号;

0ab278f01b7d4bd7a3dc1056093fcfe2.png

useradd的基本命令格式为:useradd 【选项】 用户名

useradd命令中用于设置账号属性的几个常见选项如下:

-u:指定用户的UID,要求该UID号码未被其他用户使用;

-d:指定用户的宿主目录位置,(当和-M一起使用时,不生效);

-e:指定用户账号的失效时间,可使用 yyyy-mm-dd 的日期格式;

-g:指定用具的基本组名(或使用GID号);

-G:指定用户的附加组名(或使用GID号);

-M:不建立宿主目录,即使 etc/login.defs系统配置中已设定要建立宿主目录;

-s:指定用户的登录shell;

-r:创建一个系统的账号,这个账号的UID会有限制;

-c:添加关于该账号的描述信息,也就是设置/etc/passwd的第五栏的说明内容;

-f:后面接shadow的第七个字段,指定密码是否会失效,0为立即失效,-1为永不失效。

a5ec2d68e54dda5b9a8e8c5c3f629ba2.png

a439471e8a2cb26d01af55763688c82b.png

f42e9f1f156af61d87497dac8537e4d7.png

用户账号具有可用的登录密码后,就可以从字符终端进行登录了

root用户可以使用passwd命令指定所有用户名为其设置密码 ,但普通用户只能单独执行passwd命令为自己更改密码;

使用passwd命令除了可以修改账号的密码以外,还能够对用户账号进行锁定、解锁,也可以将用户的密码设置为空(无须密码即可登录)。

常用的选项如下:

-d:清空用户的密码,仅使用用户名即可登录系统;

-l:锁定用户账户;

-S:查看用户账户的状态(是否被锁定);

-u:解锁用户账号;

-i:后面接“日期”,shadow的第七段,密码失效日期。

--stdin:可以通过来自前一个管线的数据,作为密码输入,常用在shell脚本中创建密码使用,格式为:echo "123.com" | passwd --stdin lv,命令的作用就是将“lv”用户的密码设置为123.com。

-w:后面接天数,shadow的第6字段,密码过期前的警告天数。

-x:后面接天数,shadow的第5字段,多久内必须要更改密码;

-n:后面接天数,shadow的第4个字段,多久内不可修改密码天数;

0f4e184179993de0d128da79c033b8b5.png

usermod命令——修改用户账号属性

-u:修改用户的GID号;

-d:修改用户的宿主目录位置;

-c:后面接账号的说明;

-f:后面接天数,为shadow的第七字段;

-a:与-G何用,可“增加次要群组的支持” 而非“设置”。

-e:修改用户账号的失效时间,可使用YYYY-MM-DD的日期格式;

-g:修改用户的基本组名;

-G:修改用户的附加组名;

-s:指定用户的登录shell;

-l:更改用户账号的登录名称;

-L:锁定用户账号;

-U:解锁用户账号;

264ddf846d0fe817d098af0c4db62d24.png

c37665b2e4b18f06c2e51f946078ed47.png

userdel命令——删除用户账号

113c87574907fd857ad1efeef867f426.png

groupadd命令——添加组账号

b50c268109c9b91c034bdb51b4e39c1b.png

gpassd命令——添加、设置、删除组成员

-a:添加组成员用户;

-d:删除组成员用户;

-M:一次性添加多个组成员用户;

7c816596aea231d0bb946f9178ac1e57.png

ff482aec5c9dcde92751ab7588d20d3e.png

groupdel——删除组账号

821c00c5d16c7e0e1a51997a11dfeba9.png

groups命令——查询用户账号所属的组

bec4073f67d294924fa967fee40ddb9f.png

id——查询用户账号的身份标识

85b1e4a991ea08e5492a9d9f0c38ff2f.png

finger命令——查询用户账号的登录属性

7248af8a386cc799f731d4bce4ad1d51.png

w命令——查询当前主机的用户登录情况

252a6735d21d3e8d75cf18e6e06501c3.png

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐