Linux关于权限
Posted "sudo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux关于权限相关的知识,希望对你有一定的参考价值。
文章目录
Linux安全系统的核心就是用户账户。
不同的用户对系统的访问权限是不同的。
用户权限通过用户创建时的UID来追踪。
Linux有专门的文件来用户信息(包括UID),就是 /etc/passwd 文件。
/etc/passwd
kylin@kylin-thinkpadx390:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
...
kylin:x:1000:1000:kylin:/home/kylin:/bin/bash
sshd:x:121:65534::/run/sshd:/usr/sbin/nologin
test:x:1001:1001::/home/test1:/bin/sh
其中:
- 分段意义:登录用户名:密码:UID:GID:用户账户的文本描述:HOME目录的位置:用户的默认shell
- root用户是系统的管理员,通常给它分配的UID是0;
- 所有运行你是的服务都需要一个系统用户账户登录在系统上;
- Linux为系统用户预留了500以下的UID
- /etc/passwd 是标准的文本文件,任何人都可以修改 /etc/passwd 的内容,比如添加、修改或删除用户账户,但是不推荐这样做。如果该文件损坏,系统就无法读取该文件的内容,用户就不能正常登录了。
为解决上述问题,/etc/shadow出现啦。
只有root用户才可访问 /etc/shadow
/etc/shadow
root@kylin-thinkpadx390:/home/kylin# cat /etc/shadow
root:*:19201:0:99999:7:::
daemon:*:19201:0:99999:7:::
bin:*:19201:0:99999:7:::
...
kylin:$6$BjTYGcblhb54H0su$D.GERK4yTsRdkFPCFpEnJW9FvfCvJkIBKm7H4BUB6UblqzG5UYHXRS5oIyOdPwlaJvaKPXppffp3yxv.LIcn80:19219:0:99999:7:::
其中:
- 分段意义:登录名:加密后的密码:1970.1.1到当天的天数:多少天后可修改密码:过期前多少天提示修改密码:密码过期后多少天禁用用户:用户被禁用的日期:预留字段
- 使用shadow密码系统后,Linux系统可以更好的控制用户密码了。
用户操作
添加新用户
useradd
root@kylin-thinkpadx390:/home/kylin# useradd test2
参数 | 描述 |
---|---|
-c comment | 给新用户添加备注 |
-d home_dir | 为主目录指定一个名字(如果不想用登录名作为主目录名的话) |
-m | 创建用户的HOME目录 |
-M | 不创建用户的HOME目录 |
-r | 创建系统用户 |
-u uid | 为用户指定UID |
-g intiial_group | 指定用户登录组的GID或组名 |
删除用户
第一种:userdel test
默认情况下,userdel
只会删除/etc/passwd 文件中的用户信息,而不会删除系统中属于该账户的任何文件。
第二种:userdel -r test
加上-r
参数,用户之前的/home/test目录不会存在了
修改用户信息
命令 | 描述 |
---|---|
usermod | 修改用户账户 |
passwd | 修改用户密码 |
chpasswd | 从文件中读取登录名密码对,并更新密码 |
chage | 修改密码过期时间 |
chfn | 修改备注信息 |
chsh | 修改默认登录shell |
- 其中,
usermod
使用最多,最强大
#关于usermod的参数:
-l #修改用户账户的登录名
-L #锁定账户
-p #修改密码
-U #解除用户锁定
- 关于密码修改的问题
用户可以改变自己的密码,root可以改变其他用户的密码。
1.passwd user
可以加-e
参数,来强制用户下次登录的时候修改密码。
2.chpasswd < users.txt
:批量修改密码
关于组
组权限允许多个用户共享一组共同的权限来访问系统上的兑现,比如文件、目录等。
- 有的Linux发行版会创建一个组,所有的用户都是这个组的成员。(不安全)
- 有些发行版,每个用户都是一个单独的组
/etc/group
常见的组信息:
cyq@WIN-055RJ0QN2GS:/$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,cyq
解析: 组名:组密码:GID:属组用户列表
创建组
groupadd shared
修改组
groupmod
groupmod -n sharing shared # -n 修改组名
groupmod -g NewUID OldUID # -n 修改组id
权限解析
cyq@WIN-055RJ0QN2GS:/$ ls -l
total 620
lrwxrwxrwx 1 root root 7 Mar 25 05:40 bin -> usr/bin
drwxr-xr-x 1 root root 4096 Mar 25 05:47 boot
drwxr-xr-x 1 root root 4096 Aug 26 22:02 dev
drwxr-xr-x 1 root root 4096 Aug 26 22:02 etc
drwxr-xr-x 1 root root 4096 Aug 26 22:02 home
-rwxr-xr-x 1 root root 632096 Feb 12 2022 init
lrwxrwxrwx 1 root root 7 Mar 25 05:40 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Mar 25 05:40 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 Mar 25 05:40 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 Mar 25 05:40 libx32 -> usr/libx32
drwxr-xr-x 1 root root 4096 Mar 25 05:40 media
drwxr-xr-x 1 root root 4096 Aug 26 22:01 mnt
drwxr-xr-x 1 root root 4096 Mar 25 05:40 opt
dr-xr-xr-x 9 root root 0 Aug 26 22:02 proc
drwx------ 1 root root 4096 Mar 25 05:42 root
drwxr-xr-x 1 root root 4096 Aug 26 22:02 run
符号 | 描述 |
---|---|
- | 文件 |
d | 目录 |
l | 链接 |
c | 字符型设备 |
b | 块设备 |
n | 网络设备 |
r | 可读 |
w | 可写 |
x | 可执行 |
以上是关于Linux关于权限的主要内容,如果未能解决你的问题,请参考以下文章