linux · 2020-01-12 0

Linux用户、组、文件管理

一、用户管理

用户保存在 /etc/passwd 文件,密码保存在 /etc/shadow 文件

1.添加用户

  • useradd user_name 添加用户
  • useradd -g group_name user_name 添加用户时指定组

当创建用户成功后,会自动的创建和用户同名的主目录

2.指定/修改密码

  • passwd user_name 指定/修改密码

3.删除用户

  • userdel user_name 删除用户,但保留主目录
  • userdel -r user_name 删除用户以及用户主目录

4.查询用户信息

  • id user_name

5.修改用户

usermod

usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][user_name]
  • -c<备注> 修改用户帐号的备注文字
  • -d<登入目录> 修改用户登入时的目录
  • -e<有效期限> 修改帐号的有效期限
  • -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号
  • -g<群组> 修改用户所属的群组
  • -G<群组> 修改用户所属的附加群组,但以前添加的附加群组就会清空掉
  • -l<帐号名称> 修改用户帐号名称
  • -L 锁定用户密码,使密码无效
  • -s<shell> 修改用户登入后所使用的shell
  • -u<uid> 修改用户ID
  • -U 解除密码锁定

添加用户到某一个组 可以使用 usermod -G group_name user_name 这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉。

想要添加一个用户到一个组,同时保留以前添加的组时,则使用 gpasswd 这个命令来添加操作用户

gpasswd -a user_name group_name

gpasswd

gpasswd 是 Linux 下工作组文件 /etc/group/etc/gshadow 管理工具,用于将一个用户添加到组或者从组中删除

gpasswd [可选项] user_name group_name
  • -a:添加用户到组
  • -d:从组删除用户
  • -A:指定管理员
  • -M:指定组成员和-A的用途差不多
  • -r:删除密码
  • -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

二、组管理

1.增加组

groupadd group_name

2.删除组

groupdel group_name

三、文件管理

1.修改文件所有者

chown [选项]... [user_name][:[group_name]] file_name...

选项:

  • -R 处理指定目录以及其子目录下的所有文件
  • -v 显示详细的处理信息

2.修改文件所在组

chgrp group_name file_name

3.修改文件权限

linux文件的基本权限就有9个,分别是 ower/group/others 三种身份各有自己的 read/write/execute 权限

可以使用u,g,o表示三种身份,a表示所有

rwx各权限的分数是r:4 w:2 x:1

+(加),-(减),=(设定)

  • chmod 777 file_name
  • chmod u=rwx,g=rx,o=r file_name
  • chmod a-x file_name

四、passwd、shadow、group文件

1.passwd

在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

字段 含义
用户名 用户登陆系统时使用的用户名
密码 密码位
UID 用户标识号
GID 缺省组标识号
注释性描述 例如存放用户全名等信息
宿主目录 用户登陆系统后的缺省目录
命令解释器 用户使用的Shell,默认为bash

2.shadow

/etc/shadow 文件

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

3.group

/etc/group 文件

组名:口令:组标识号:组内用户列表

五、登陆用户管理

1.创建普通用户

1.创建了可以登录的 user001 用户并使用 /bin/bash 作为 shell
2.设置密码
3.切换登录用户为 user001

sudo useradd -m user001 -s /bin/bash
sudo passwd user001
su user001