文章目录
- 一、用户账号的管理
- 1.1、用户账号概述
- 1.2、用户账号管理(useradd、passwd、usermod、userdel)
- 1.2.1、useradd-----添加新的用户账号
- 1.2.2、passwd----设置更改用户
- 1.2.3、usermod----修改用户账户的属性
- 1.2.4、userdel----删除用户账号
- 二、组账号的管理
- 2.1、组账号概述
- 2.2、组账号管理--(groupadd、gpasswd、groupdel)
- 2.2.1、groupadd----创建组账号
- 2.2.2、gpasswd----添加删除组成员
- 2.2.3、groupdel----删除组账号
- 2.2.4、groups ----查看用户所属的组
- 三、目录与文件的权限归属
- 3.1、chmod----目录与文件的权限
- 3.2、chown----设置文件的归属
一、用户账号的管理
1.1、用户账号概述
超级用户:root
Linux 系统中的 root 账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限。
在大多数版本的 Linux 中,都不推荐直接使用root 账号登录系统,在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”。
su 是 substitute user 的缩写,表示 使用另一个用户的身份
sudo 命令用来以其他身份来执行命令,预设的身份为 root
普通用户:自定义用户
程序用户:无法登录
匿名用户:nobody
linux系统中与用户账号相关的文件主要有两个,/etc/passwd用于保存用户名称、宿主机目录、登录shell等信息
/etc/shadow用于保存用户的密码、账号有效期限等信息。
UID号:用户账号的唯一标识号,原则上每个用户的UID都是唯一的
0 root
1~999 程序用户
1000~60000 普通用户
在/sbin/nologin 用户无法直接登录和被切换登录
用户被锁定,无法直接登录,但是可以从root用户切换登录。
1.2、用户账号管理(useradd、passwd、usermod、userdel)
用户账号的管理主要涉及到用户账号的添加、删除和修改。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加
的账号是被锁定的,无法使用。
1.2.1、useradd-----添加新的用户账号
useradd 选项 用户名
其中各选项含义如下:
-d 目录 指定用户的宿主目录
-g 用户组 指定用户所属的私有组。
-G 用户组 指定用户所属的附加组。
-s shell文件 指定用户的登录Shell。
-e 指定用户的账户失效时间
-u 指定用户的用户号
-M 不建立宿主目录
用户名 指定新账号的登录名。
例1:
useradd -s /bin/sh -g group -G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
这里可能新建组:groupadd group 及 groupadd adm
例2:
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件,如/etc/shadow,/etc/group等。
Linux提供了集成的系统管理工具userconf,他能用来对用户账号进行统一管理。
注:
用户帐户本身在 /etc/passwd 中定义。Linux 系统包含一个 /etc/passwd 的同伴文件,叫做 /etc/shadow。该文件不像 /etc/passwd,只有对于 root 用户来说是可读的,并且包含加密的密码信息。
1.2.2、passwd----设置更改用户
passwd 选项 用户名
-d 清空指定用户的密码,仅用用户名即可登录系统
-l 锁定用户账户
-S 查看用户账户的状态(是否被锁定)
-u 解锁用户账户
例:
1.2.3、usermod----修改用户账户的属性
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,格式如下:
代码:
usermod 选项 用户名[只有终极管理员才有权限修改帐号名,如果用sudo命令来对普通帐号授权也行]
常用的选项包括-c,-d,-m,-g,-G,-s,-u,-o等,这些选项的意义和useradd命令中的相同
,能为用户指定新的资源值。另外,有些系统能使用如下选项:
代码:
-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例:修改zhangsan的宿主目录/home/zhangsan 到/home/lisi
例如:
usermod -s /bin/ksh -d /home/z -g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
#usermod zte1 -g cheng
#此命令是改动用户zte1所属的组为cheng这个组
1.2.4、userdel----删除用户账号
如果一个用户账号不再使用,能从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还要删除用户的主目录。删除一个已有的用户账号使用userdel命令,格式如下:
代码:
userdel 选项 用户名
常用的选项是-r,他的作用是把用户的主目录一起删除。
例如:
此命令删除用户 lisi 在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group等)中的记录,同时删除用户的主目录。
二、组账号的管理
2.1、组账号概述
基本组/私有组:**伴随着用户的创建而创建,**与用户同名
公有组/附加组:直接创建空组,可以添加已有的用户,给组设定权限,该组中的所有用户都具备此权限。
GID:组标识号
2.2、组账号管理–(groupadd、gpasswd、groupdel)
2.2.1、groupadd----创建组账号
1、增加一个新的用户组使用groupadd命令。格式如下:
代码:
groupadd 选项 用户组[用户组添加后,将用户进行组赋予用chown和chgrp指令]
能使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般和-g选项同时使用,表示新用户组的GID能和系统已有用户组的GID相同。
例1:
groupadd -g 101 group2
此命令向系统中增加了一个新组zuzu,同时指定新组的组标识号是1003。
2.2.2、gpasswd----添加删除组成员
代码:
gpasswd 选项 用户组
-a 向组内添加一个用户(不会对之前设置的成员进行覆盖)
-d 从组内删除一个用户成员
-M 定义组成员列表,以逗号分隔(会对之前设置的成员进行覆盖)
例如:
(1)将zhangsan的账号加入组账号zuzu里
(2)查看zhangsan是否添加成功
(3)从zuzu组中将账号为zhangsan删除出去
2.2.3、groupdel----删除组账号
如果要删除一个已有的用户组,使用groupdel命令,格式如下:
代码:
groupdel 用户组
例如:
2.2.4、groups ----查看用户所属的组
格式:
groups 用户名
查看帐号属性
格式: id user1 显示user1这个当前用户的id信息
三、目录与文件的权限归属
3.1、chmod----目录与文件的权限
权限项 | 可读 | 可写 | 可执行 | 可读 | 可写 | 可执行 | 可读 | 可写 | 可执行 |
---|---|---|---|---|---|---|---|---|---|
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限表示 | 文件所有者 | 文件所有者 | 文件所有者 | 文件所属组 | 文件所属组 | 文件所属组 | 其他用户 | 其他用户 | 其他用户 |
第一位表示文件类型。
此处 d 表示目录,l 表示链接文件, c 表示字符设备文件, b 表示块设备文件
chmod nnn 文件或目录 (nnn指的是3位八进制数)
-R :递归修改制定目录下所有子项的权限
3.2、chown----设置文件的归属
代码:
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用选项
-R 递归修改制定目录下所有文件、子目录的权限