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

其中:

  1. 分段意义:登录用户名:密码:UID:GID:用户账户的文本描述:HOME目录的位置:用户的默认shell
  2. root用户是系统的管理员,通常给它分配的UID是0;
  3. 所有运行你是的服务都需要一个系统用户账户登录在系统上;
  4. Linux为系统用户预留了500以下的UID
  5. /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:::

其中:

  1. 分段意义:登录名:加密后的密码:1970.1.1到当天的天数:多少天后可修改密码:过期前多少天提示修改密码:密码过期后多少天禁用用户:用户被禁用的日期:预留字段
  2. 使用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关于权限的主要内容,如果未能解决你的问题,请参考以下文章

Linux 文件权限

关于Linux下SET位权限问题

关于Linux

关于linux用户权限授权-急

Linux学习之十四-Linux文件和目录权限

Linux关于权限