Linux账号和权限管理
目录
一、用户账号和组账号概述
1、用户账号类型
- 普通用户:权限受到限制的用户
- 超级管理员:拥有至高无上的权限
- 程序用户:不是给人使用的,是给程序使用的,不允许登录
查看当前用户登陆的信息,可以使用以下几种方式:
w
who
users
finger
系统如何区别用户的身份:
系统是根据uid号来区别的
范围:
Centos6:
超级管理员:uid=0
程序用户:1-499
普通用户 500+
Centos7:
超级管理员:默认uid=0
普通用户 :1000-60000?不指定 顺序给用户进行交互式登录使用
超级管理员:root, 0
程序用户:1-999??
2、组账号
1.基本组(私有组)
- 建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。
- 在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定。
- 等于主职位,有且唯一。
2.附加组(公共组)
- 除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定。
- 等于兼职位,可有可无,可以有多个。
3、ID
1.UID
????????Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为UID号
????????root 用户账号的 UID 号为固定值 0,而程序用户账号的 UID号默认为1~499,500~60000 的 UID 号默认分配给普通用户使用。1-999 预留给系统,叫系统用户,?给人使用的账户是从1000开始。
2.GID
????????与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID,root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
4、用户和账号管理
1.文件位置
- /etc/passwd
? ? ? ? 存放保存用户名称、宿主目录、登录Shell等基本信息,一行对应一个账户
- /etc/shadow? ? ? ? ? 存放保存密码,一行对应一个密码
2.useradd-----创建用户
- 基本格式
useradd [选项]? 用户名
添加用户:查看是否在passwd和shadow文件中生成信息
选项:
选项 | 说明 |
---|---|
-u | 指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 |
-d | 指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 |
-e | 指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
-g | 指定用户的基本组名(或使用 GID 号)。 |
-G | 指定用户的附加组名(或使用 GID 号)。 |
-M | 不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。 |
-s | 指定用户的登录 Shell /sbin/nologin。 |
例如给用户指定uid号
3.设置用户更改、锁定密码
选项 | 说明 |
---|---|
-d | 清空指定用户的密码,仅使用用户名即可登录系统 |
-l | 锁定用户账户 |
-S | 查看用户账户的状态(是否被锁定) |
-u | 解锁用户账户 |
(1)设置密码 echo “123123” | passwd --stdin lisi
(2)锁定用户 passwd -l zhangsan?
(3)?解锁用户 passwd -u zhangsan
(4)?查看用户状态 passwd -S zhangsan
(5)清楚密码 passwd -d zhangsan?
3.userdel——删除用户账号
格式:
userdel? [-r]? ?用户名
- 添加-r选项时,表示用户的宿主目录一并删除
- 如果不加-r选项,删除之后在创建用户时会报错
- userdel 直接删除用户不加参数,然后再重新创建出相同的用户?
4.usermod---修改用户账号的属性
格式:
usermod [选项]... 用户名
选项:
选项 | 说明 |
---|---|
-l | 更改用户账号的登录名称 |
-L | 锁定用户账户 |
-u | 修改用户的UID号 |
-U | 解锁用户账户 |
-d | 修改用户的宿主目录位置 |
-e | 修改用户的账户失效时间(YYYY-MM-DD) |
-g | 修改用户的基本组名(或使用GID号) |
-G | 修改用户的附加组名(或使用GID号) |
-s | 指定用户的登录shell |
5、建立用户组
1.groupadd----添加组
格式:
groupadd [-g GID] 组账号名
2.gpasswd-----添加添加、设置、删除组成员
格式:
gpasswd
选项 | 说明 |
---|---|
-a | 添加用户到组 |
-d | 从组删除用户 |
-M | 批量加,指定组成员 |
[root@test1 /]# useradd zhou1 ? ? ? ? ? ? //组内加入新成员
[root@test1 /]# gpasswd -a zhou1 zhou
正在将用户“zhou1”加入到“zhou”组中 用户在前,组在后
[root@test1 /]# gpasswd -d zhou1 zhou
正在将用户“zhou1”从“zhou”组中删除
[root@test1 /]# gpasswd -M zhou1,zhou zhou
[root@test1 /]# grep "^zhou" /etc/group
zhou:x:88:zhou1,zhou
3.groupdel-----删除组账号
格式:
groupdel? 组账号名
4.查询账户信息
?1.w--查询已登录到主机的用户信息
w [选项]? [用户名]
选项 | 说明 |
---|---|
-h | 不显示输出信息的标题 |
-l | 用长格式输出 |
-s | 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间 |
-V | 显示版本信息 |
?
2.who
相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令
who [选项] [file]
需要说明的是,who 命令默认是通过 /var/run/utmp 文件来获取登陆用户信息,但如果通过 file 指定另一个文件,则 who 命令将不再默认读取 /var/run/utmp 文件,而是读取该指定文件来获取信息。
选项 | 说明 |
---|---|
-a | 列出所有信息,相当于所有选项。 |
-b | 列出系统最近启动的时间日期。 |
-l | 列出所有可登陆的终端信息。 |
-m | 仅列出关于当前终端的信息,who -m 命令等同于 who am i 。? |
-q | 列出在本地系统上的用户和用户数的清单 |
-r | 显示当前系统的运行级别。 |
-s | 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。 |
-u | 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。 |
-T 或-w | 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。 |
3.users
[root@localhost ~]# users
root root
4.finger
finger? 用户名
查询用户的详细信息
5.id
id? 用户名
查询身份表示
二、?文件/目录的权限和归属
1、程序访问文件时的权限,取决于此程序的发起者
-
进程的发起者,同文件的属主:则应用文件属主权限
-
进程的发起者,属于文件属组;则应用文件属组权限
-
应用文件“其它”权限
2、访问人群分为了三类
- 所属住(u)
- 所属组(g)
- 其他人(o)
3、权限分为三种
1.对 文件的权限
- 读(r,4)
- 写(w,2)
- 执行(x,1 程序,脚本)
2.对目录的权限
- r 可以使用ls查看此目录中文件列表
- w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
- x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
4、chmod--设置文件和目录的权限
选项? -R : 递归
chmod ?[ugoa] ? ?[+ - =] ? ? ? ? ?[rwx] ? ? ?文件或目录
u:所有者(属主) ?g:所有组(属组) o:其他人?? ? a:所有、其他
+:增加 ? -:去除 ? =:设置权限
r:读 ?w:写 ? x:运行权限1. u=rwx,g=rx,o=x
2. o+w?? ??? ??? ??? ??? ?其它用户增加w权限
3. a-x?? ??? ??? ??? ??? ?所有人减去执行权限
5、chown--设置文件和目录的归属
选项? -R? 递归
修改属主 ?属组
chown ?属主:属组 ?文件?
chown ?属主 ?文件
chown ? ? :属组 文件?
6、umask---权限掩码
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
作用:
????????(1)控制新建的文件或目录的权限
????????(2)默认权限去除umask’的权限为新建文件或者目录的权限
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!