vlambda博客
学习文章列表

必看!Linux用户及权限基础

      本文章向大家介绍Linux入门基础:Linux用户及权限基础,主要包括:Linux用户及权限基础实战操作、linux用户和组管理相关原理、操作命令与使用注意事项,具有一定的参考价值,需要的朋友可以参考一下。



必看!Linux用户及权限基础

用户基础

必看!Linux用户及权限基础


必看!Linux用户及权限基础

用户和组

必看!Linux用户及权限基础

每个用户都拥有一个userid,操作系统实际使用的是用户ID,而非用户名

每个用户都属于一个主组,属于一个或多个附属组

每个组拥有一个Groupid

每个进程以一个用户身份运行,并受该用户可访问资源限制每个可登陆用户拥有一个指定的shell

必看!Linux用户及权限基础

用户

必看!Linux用户及权限基础

用户ID为32位,从0开始,为了和老系统兼容,用户id限制在60000以下

用户分为三种

-root用户(id为0的用户就是root用户)

-系统用户(id为1~499的用户,是为了进程服务创建的)

-普通用户(500以上)

系统中的文件都有一个所属用户及所属组

使用id命令可以显示当前用户的信息

使用passwd命令可以修改当前用户密码

查看登录的用户

命令whoami显示当前用户

命令who显示有哪些用户已经登陆系统

命令w显示有哪些用户已经登陆并且在干什么

必看!Linux用户及权限基础

管理用户命令汇总

必看!Linux用户及权限基础


命令

注释

参数选项

useradd

此命令可在系统中添加用户

  • -d 指定家目录

  • -m 用户目录如不存在则自动建立。

  • -s 登录shell

  • -u userid 这个值是唯一的

  • -g 主组 用户登入起始用户组(group)

  • -G 附属组(最多31个,用“,”逗号隔开)

userdel

此命令可删除用户

  • -r  删除用户时一并删除其家目录。

  • 相关文件

       /etc/passwd : 用户账号资料文件

       /etc/shadow : 用户账号咨询加密文件

       /etc/group : 用户组资讯文件

提示:使用userdel命令的结果实际上就是在更改维护以上的文件。只要修改和删除都要小心谨慎!

passwd

执行此命令可以修改用户的密码。更改/etc/shadow文件

  • -l:锁定用户

  • -u:解锁用户

  • -n:设定用户密码的最少使用时间

  • -x:设定用户密码的最长使用时间

  • -w:设定用户密码的警告时间

chage

修改用户密码到期时间。管理/etc/shadow文件

  • chage -d       最近一次的修改时间,

  • # chage -d 0 Fred   立即让Fred用户口令失效,需要重新输入新密码

  • chage -m      最短使用期限

  • chage -M      最长使用期限

  • chage -W      警告时间

  • chage -l       相当于--list,显示账户口令有效期信息

usermod

修改用户账户信息

  • -l 新用户名

  • -u 新userid

  • -d 家目录

  • -g 主组

  • -G 附属组

  • -L 锁定,使其不能登录

  • -U 解除锁定

id

查看用户的ID信息

  • id -u  显示UID


  • id -g  显示基本组GID


  • id -G  显示附加组GID


  • id -n -[u,g,G]   显示组名,配合其他命令一起使用,一次只能跟一个比如-ng

su

用户角色切换工具。su -

  • su -[l] 用户名    登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换。l可以省略。

sudo

Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。


使用权限:在 /etc/sudoers 中有出现的使用者。

  • -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)

必看!Linux用户及权限基础

例如

useradd zzg1

必看!Linux用户及权限基础

这个命令会执行以下操作 :

在/etc/passwd中添加用户信息

如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中

为用户建立以个新的家目录/home/用户名

将/etc/skel中的文件复制到用户家目录中

例如

usermod -u 1002 zzg1

必看!Linux用户及权限基础

删除用户信息

命令userdel用以删除指定用户:

例如

#删除指定用户,保留用户家目录

userdel user1

必看!Linux用户及权限基础


必看!Linux用户及权限基础

如图所示家目录zzg1还存在的

#删除指定用户,同时删除用户家目录

userdel -r user1

注意:生产场景中,我们一般不建议用“userdel -r 用户名”这样的危险命令,而直接使用”userdel 用户名“命令删除即可。‍



必看!Linux用户及权限基础

管理用户组命令汇总

必看!Linux用户及权限基础


命令

注释

参数选项

groupadd

该命令用于创建一个新用户组

  • -g,--gid:指定GID;默认是上一个组的GID+1

  • -r,--system:创建系统组

groupdel

该命令用于删除用户组

同上

groupmod

该命令用于修改组属性

-g,--gid GID 修改GID

-n,--new-name : 修改组名

必看!Linux用户及权限基础

必看!Linux用户及权限基础

几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类,管理用户

一般来件,我们使用部门,职能或地域的分类方式来创建使用组

每个组都有一个组id

组信息保存在/etc/group中

每个用户都拥有一个主组,同时还可以拥有最多31个附属组

必看!Linux用户及权限基础

创建组

命令groupadd用来创建组

例如

groupadd zzg2

修改组

命令groupmod用来修改组

删除组

命令groupdel用来删除组

例如

groupdel zzg2‍

必看!Linux用户及权限基础

权限机制

必看!Linux用户及权限基础

权限是操作系统用来限制对资源访问的机制

每个进程都以某个用户的身份运行,所以进程的权限和该用户的权限一样

linux权限机制

文件权限

文件拥有三种权限 :

权限      对文件的影响      对目录的影响

r (读)        可读取文件内容   可列出目录内容

w (写)        可修改文件内容   可在目录中创建删除文件

x (执行) 可以作为命令执行   可访问目录内容

目录不许拥有x (执行权限) , 否则无法查看其内容


必看!Linux用户及权限基础


UGO模型

Linux权限基于UGO模型进行控制

U代表User , G代表Group , O代表Other

每一个文件的权限基于UGO进行设置

权限三个一组(rwx),对应UGO分别进行设置,总共9个 例如 rwxrwxrwx

每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件的所属用户或组的使用O权限

修改文件所属用户和所属组

命令chown用以改变文件的所属用户

例如

#chown   用户名  文件名/文件夹

chown zzg3 /tmp/bak/zzg

#-R 递归修改目录下所有文件

必看!Linux用户及权限基础

命令chgrp用以修改文件的所属组

例如

#chgrp 组名 文件名/文件夹

chgrp zzg2 /tmp/bak/zzg/

#-R 递归修改目录下所有文件

必看!Linux用户及权限基础

修改权限

命令chmod用以修改文件的权限

chmod 模式 文件

模式为如下格式 :

u,g,o分别代表用户,组和其他

a可以代指ugo

+,- 代表假如或删除对应的权限

r,w,x 代表三种权限

模式示例 :

#所属用户加入读写权限

chmod u+rw zzg

必看!Linux用户及权限基础

#所属组删除执行权限

chmod g-x fileName

必看!Linux用户及权限基础

#所属组和其他加入执行权限

chmod go+x fileName

必看!Linux用户及权限基础

#ugo都删除执行权限

chmod a-x zzg

chmod 也支持数字方式修改权限,分别由三个数字表示

-r = 4 (2^2)

-w = 2 (2^1)

-x = 1 (2^0)

使用数字表示权限时,每组权限分别对应数字之和

rw=4+2=6

rwx=4+2+1=7

r-x=4+1=5

所以,使用数字表示ugo权限使用如下方式表示:

chmod 660 fileName == rw-rw----

chmod 775 fileName == rwxrwxr-x

扩展权限

默认权限

每一个终端都拥有一个umask属性,来确定新建文件 , 文件夹的默认权限

目录的默认权限:777-umask

文件的默认权限:666-umask

一般对于普通用户默认的umask是002,root用户的默认是022

新建文件的权限是:666-002=664

新建目录的权限是:777-002=775

命令umask用以查看 , 设置umask值

#查看

umask

#设置

umask 022

特殊权限

除普通权限外,还有三个特殊权限:

权限 对文件的影响 对目录的影响

suid 以文件的所属用户身份执行 无

sgid 以文件的所属组身份执行 在该目录中创建的任意新文件的所属组与该目录的所属组相同

sticky 无 对目录拥有写入权限的用户可仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

设置特殊权限

设置suid:

chmod u+s fileName

即rwsrwxrwx

设置sgid:

chmod g+s fileName

即rwxrwsrwx

设置sticky:

chmod o+t fileName

即rwxrwxrwt

与普通权限一样,特殊权限也可以使用数字方式表示

- SUID = 4

- SGID = 2

- Sticky = 1

所以可以通过一下命令 设置

chmod 4755 fileName

即rwsrwxrwx

                                     - End -


推荐阅读:


关注【Linux崛起之路】加星标,IT路上不迷茫