Linux2 —— 用户与权限

用户类型

超级用户 root:有最高的权限,可以对Linux做任何操作

普通用户:没有对系统的完全控制权,而且用户之间私人资源是相互隔离的

系统用户:与系统和程序服务相关的用户,默认情况下无法登录,设置用户授权登陆口令后可以登录

用户信息文件 passwd

/etc/passwd

  • 每一行存储一个用户的账号信息

  • 用户名:加密密码:用户ID:用户组ID:用户信息:用户主目录:登录Shell

    1
    2
    3
    4
    5
    root:x:0:0:root:/root:/bin/bash #/bin/bash 可以登录 Shell
    bin:x:1:1:bin:/bin:/sbin/nologin # /sbin/nologin 不可以登录 Shell
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  • root 的 UID 是 0,系统用户的UID < 1000,普通用户的UID > 1000

口令文件 shadow

/etc/shadow

每一行存储一个用户的信息,只有 root 用户才能读取这个文件

用户名:加密口令:上次更新时间:允许更改时间:要求更改时间:取消口令之前的警告时间:取消和停用之间的时间:账户口令的天数:账户终止时间:特殊标志

1
2
==> /etc/shadow <==
root:$6$jjQmz1nDkp3PiWKO$3Bmu..GD.sri5PSS2ZL297YQF8d0f4.FbcMeWpn6pkbz2.lR4KKwFfvLCUQzKd2HNEYvFgBIDvhHTOeQSwGnx.::0:99999:7:::

组信息文件 group

/etc/group

每一行记录系统中的用户组信息

组名:密码字段:用户组 ID :用户名列表(用冒号分隔多个用户名)

1
2
==> /etc/group <==
root:x:0:

默认情况下,创建用户的时候,系统会自动创建一个同名的组,作为该用户的主组。

Command: useradd

新增用户

格式: useradd [选项] 用户名

参数 作用
-d dirName 指定用户主目录。默认将会在/home目录下新建一个与用户名相同的用户主目录
-s shellName 指定用户登录时使用的shell。默认为/bin/sh
-g groupName 指定用户所属的组名。创建用户时默认创建一个与用户名同名的组作
-G groupList 一个用户可以属于一个组,也可以属于多个组。用户创建时属于的组称为主组,其他的叫附属组。
-u uid 指定新用户的UID。新用户默认UID为当前最高UID值+1
1
useradd -d /home/user1024 -u 1024 -G user1 user2

Command: passwd

修改密码

格式:passwd [用户名]

普通用户只能修改自己密码,root可以修改其他用户的密码

Command: usermod

修改用户属性

格式:usermod [选项] 用户名

参数 作用
-d dirName 指定用户主目录。默认将会在/home目录下新建一个与用户名相同的用户主目录
-s shellName 指定用户登录时使用的shell。默认为/bin/sh
-g groupName 指定用户所属的新主组
-G groupList 一个用户可以属于一个组,也可以属于多个组。用户创建时属于的组称为主组,其他的叫附属组。
-u uid 指定新用户的UID。新用户默认UID为当前最高UID值+1
1
usermod -d /home/user2048 user2

Command: userdel

删除用户

格式:userdel [-r] 用户名

使用 -r 可以删除与用户相关的所有文件,如 home、log、email 。

Command: groupadd

增加用户组

格式:groupadd [-g] 组名

使用 -g 指定用户组

Command: groupdel

1
groupdel 组名

Command: chmod

改变指定目录或文件的权限

格式:chmod [-R] 权限模式 路径

使用 -R 递归修改文件夹内所有子目录和文件的权限。

修改对象

  • u 表示该文件的拥有者

  • g 表示同组用户

  • o 表示其他以外的人

  • a 表示这三者皆是

修改行为:

  • + 表示增加权限
  • - 表示取消权限
  • = 表示唯一设定权限

权限:

  • r 读取
  • w 写入
  • x 执行
1
2
3
4
5
6
7
8
9
chmod o=r,u=w,g=x a.txt
# u g o 都添加 x
chmod +x a.txt
# 全部设置为 rwx,再分别减去 u 的 x,g 的 wx,o 的 rwx
chmod a=rwx,u-x,g-wx,o-rwx a.txt
# 777: u=rwx g=rwx o=rwx
chmod 777 a.txt
# 765: u=rwx g=rw o=rx
chmod -R 765 dir1
image-20220525154155485

Command: chown

改变指定目录或文件的所属用户、所属组

格式:chown [-R] 用户名[:组名] 路径

Command: chgrp

改变指定目录或文件的所属组。

格式:chgrp [-R] 组名 路径