Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登录,而且在系统上启动进程也需要以一个用户身份器运行,用户可以限制某些进程对特定资源的权限控制。

本章介绍Linux系统如何管理创建、删除、修改用户角色、用户权限配置、组权限配置及特殊权限深入剖析。

1 Linux用户及组

Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。

Linux系统用户是根据用户ID来识别的,默认ID长度为32位,默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下,Linux用户分总共分为三种,分别如下:

  • root用户 (ID 0)
  • 系统用户 (ID 1-499)
  • 普通用户 (ID 500以上)

Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。Linux操作系统用户的特点如下:

  • 每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;
  • 每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;
  • 每个组拥有一个GroupID;
  • 每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;
  • 每个可登陆用户拥有一个指定的Shell环境。

2 Linux用户管理

Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:

  • /etc/passwd 保存用户信息
  • /etc/shdaow 保存用户密码(以加密形式保存)
  • /etc/group 保存组信息
  • /etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
  • /etc/default/useradd 显示或更改默认的useradd配置文件

如需创建新用户,可以使用命令useradd,执行命令useradd superman即可创建superman用户,同时会创建一个同名的组superman,默认该用户属于superman主组。

useradd superman命令默认创建用户superman,会根据如下步骤进行操作:

  • 在/etc/passwd文件中添加用户信息;
  • 如使用passwd命令创建密码,密码会被加密保存在/etc/shdaow中;
  • 为superman创建家目录:/home/superman;
  • 将/etc/skel中的.bash开头的文件复制至/home/superman家目录;
  • 创建与用户名相同的superman组,superman用户默认属于superman同名组;
  • superman组信息保存在/etc/group配置文件中。

在使用useradd命令创建用户时,可以支持如下参数:

用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-b, --base-dir BASE_DIR 指定新账户的家目录;
-c, --comment COMMENT 新账户的GECOS字段;
-d, --home-dir HOME_DIR 新账户的主目录;
-D, --defaults 显示或更改默认的useradd配置;
-e, --expiredate EXPIRE_DATE 新账户的过期日期;
-f, --inactive INACTIVE 新账户的密码不活动期;
-g, --gid GROUP 新账户主组的名称或ID;
-G, --groups GROUPS 新账户的附加组列表;
-h, --help 显示此帮助信息并推出;
-k, --skel SKEL_DIR 使用此目录作为骨架目录;
-K, --key KEY=VALUE 不使用/etc/login.defs中的默认值;
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库;
-m, --create-home 创建用户的主目录;
-M, --no-create-home 不创建用户的主目录;
-N, --no-user-group 不创建同名的组;
-o, --non-unique 允许使用重复的UID创建用户;
-p, --password PASSWORD 加密后的新账户密码;
-r, --system 创建一个系统账户;
-R, --root CHROOT_DIR chroot到的目录;
-s, --shell SHELL 新账户的登录shell;
-u, --uid UID 新账户的用户ID;
-U, --user-group 创建与用户同名的组;
-Z, --selinux-user SEUSER 为SELinux用户映射使用指定SEUSER。

2.1 useradd案例演示

1、新建superman2用户,并加入到superman,superman1附属组

[root@superman-vm01 ~]# useradd -G superman,superman1 superman2
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# cat /etc/passwd|grep superman2
superman2:x:1001:1002::/home/superman2:/bin/bash
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# id superman2
uid=1001(superman2) gid=1002(superman2) groups=1002(superman2),1000(superman),1001(superman1)
[root@superman-vm01 ~]#

2、新建superman3用户,并指定新的家目录,同时指定其登陆的SHELL

[root@superman-vm01 ~]# useradd superman3 -d /data/superman3 -s /bin/bash
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# cat /etc/passwd|grep superman3
superman3:x:1002:1003::/data/superman3:/bin/bash
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# id superman3
uid=1002(superman3) gid=1003(superman3) groups=1003(superman3)
[root@superman-vm01 ~]#

3 Linux组管理

所有的Linux或者Windows系统都有组的概念,通过组可以更加方便的管理用户,组的概念应用于各行各业,例如企业会使用部门、职能或地理区域的分类方式来管理成员,应用在Linux系统,同样可以创建用户,并用组的概念对其管理。

Linux组有如下特点:

  • 每个组有一个组ID;
  • 组信息保存在/etc/group中;
  • 每个用户至少拥有一个主组,同时还可以拥有31个附属组。

通过命令groupadd、groupdel、groupmod来对组进行管理,详细参数使用如下:

groupadd用法
-f, --force 如果组已经存在则成功退出;
并且如果 GID 已经存在则取消 –g;
-g, --gid GID 为新组使用GID;
-h, --help 显示此帮助信息并推出;
-K, --key KEY=VALUE 不使用/etc/login.defs中的默认值;
-o, --non-unique 允许创建有重复GID的组;
-p, --password PASSWORD 为新组使用此加密过的密码;
-r, --system 创建一个系统账户; groupmod用法
-g, --gid GID 将组ID改为GID;
-h, --help 显示此帮助信息并推出;
-n, --new-name NEW_GROUP 改名为NEW_GROUP;
-o, --non-unique 允许使用重复的GID;
-p, --password PASSWORD 将密码更改为(加密过的)PASSWORD; groupdel用法
groupdel superman 删除superman组;

3.1 组管理案例演示

1、groupadd创建hanxiao组

[root@superman-vm01 ~]# groupadd hanxiao
[root@superman-vm01 ~]#

2、groupadd创建hanxiao组,并指定GID为1010

[root@superman-vm01 ~]# groupadd -g 1010 hanxiao1
[root@superman-vm01 ~]#

3、groupadd创建一个system组,名为hanxiao2组

[root@superman-vm01 ~]# groupadd -r hanxiao2
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# cat /etc/group|grep hanxiao2
hanxiao2:x:982:
[root@superman-vm01 ~]#

4、groupmod修改组名称,将hanxiao组名,改成hanxiao1

[root@superman-vm01 ~]# groupmod -n hanxiao3 hanxiao
[root@superman-vm01 ~]#

5、groupmod修改组GID号,将原hanxiao1组gid改成gid 1020

[root@superman-vm01 ~]# cat /etc/group|grep hanxiao1
hanxiao1:x:1010:
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# groupmod -g 1020 hanxiao1
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# cat /etc/group|grep hanxiao1
hanxiao1:x:1020:
[root@superman-vm01 ~]#

4 Linux用户及组案例

useradd主要用于新建用户,而用户新建完毕,可以使用usermod来修改用户及组的属性,如下为usermod详细参数:

用法:usermod [选项] 登录
选项:
-c, --comment 注释 GECOS字段的新值;
-d, --home HOME_DIR 用户的新主目录;
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为EXPIRE_DATE;
-f, --inactive INACTIVE 过期INACTIVE天数后,设定密码为失效状态;
-g, --gid GROUP 强制使用GROUP为新主组;
-G, --groups GROUPS 新的附加组列表GROUPS;
-a, --append GROUP 将用户追加至上边-G中提到的附加组中,
并不从其它组中删除此用户;
-h, --help 显示此帮助信息并推出;
-l, --login LOGIN 新的登录名称;
-L, --lock 锁定用户帐号;
-m, --move-home 将家目录内容移至新位置 (仅于-d一起使用);
-o, --non-unique 允许使用重复的(非唯一的)UID;
-p, --password PASSWORD 将加密过的密码(PASSWORD)设为新密码;
-R, --root CHROOT_DIR chroot到的目录;
-s, --shell SHELL 该用户帐号的新登录shell环境;
-u, --uid UID 用户帐号的新UID;
-U, --unlock 解锁用户帐号;
-Z, --selinux-user SEUSER 用户账户的新SELinux用户映射。

4.1 usermod案例演示

1、将superman用户属组修改为superman,superman2附属组;

[root@superman-vm01 ~]# id superman
uid=1000(superman) gid=1000(superman) groups=1000(superman)
[root@superman-vm01 ~]#
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# usermod -G superman,superman2 superman
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# id superman
uid=1000(superman) gid=1000(superman) groups=1000(superman),1002(superman2)
[root@superman-vm01 ~]#

2、将superman用户加入到superman3,superman4附属组,-a为添加新组,原组保留;

[root@superman-vm01 ~]# id superman
uid=1000(superman) gid=1000(superman) groups=1000(superman),1002(superman2)
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# usermod -a -G superman3,superman4 superman
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# id superman
uid=1000(superman) gid=1000(superman) groups=1000(superman),1002(superman2),1003(superman3),1021(superman4)
[root@superman-vm01 ~]#

3、修改superman用户,并指定新的家目录,同时指定其登陆的SHELL;

[root@superman-vm01 ~]# cat /etc/passwd|grep superman
superman:x:1000:1000:superman:/home/superman:/bin/bash
superman2:x:1001:1002::/home/superman2:/bin/bash
superman3:x:1002:1003::/data/superman3:/bin/bash
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# usermod -d /tmp/ -s /bin/sh superman
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# cat /etc/passwd|grep superman
superman:x:1000:1000:superman:/tmp/:/bin/sh
superman2:x:1001:1002::/home/superman2:/bin/bash
superman3:x:1002:1003::/data/superman3:/bin/bash
[root@superman-vm01 ~]#

4、 将superman用户名修改为superman;

[root@superman-vm01 ~]# cat /etc/passwd|grep superman
superman:x:1000:1000:superman:/tmp/:/bin/sh
superman2:x:1001:1002::/home/superman2:/bin/bash
superman3:x:1002:1003::/data/superman3:/bin/bash
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# usermod -l hanxiao superman
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# cat /etc/passwd|grep superman
superman2:x:1001:1002::/home/superman2:/bin/bash
superman3:x:1002:1003::/data/superman3:/bin/bash
hanxiao:x:1000:1000:superman:/tmp/:/bin/sh
[root@superman-vm01 ~]#

5、锁定superman用户及解锁superman用户方法;

[root@superman-vm01 ~]# usermod -L superman2
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# su - superman2
Last login: Thu Jul 8 07:41:18 CST 2021 on pts/0
[superman2@superman-vm01 ~]$
[superman2@superman-vm01 ~]$ su - superman2
Password:
su: Authentication failure
[superman2@superman-vm01 ~]$ exit
logout
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# usermod -U superman2
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# su - superman2
Last login: Thu Jul 8 07:42:49 CST 2021 on pts/0
Last failed login: Thu Jul 8 07:43:16 CST 2021 on pts/0
There were 2 failed login attempts since the last successful login.
[superman2@superman-vm01 ~]$
[superman2@superman-vm01 ~]$ su - superman2
Password:
Last login: Thu Jul 8 07:43:29 CST 2021 on pts/0
[superman2@superman-vm01 ~]$

4.2 userdel案例演示

使用userdel可以删除指定用户及其用户的邮箱目录或者Selinux映射环境:

  • userdel superman 保留用户的家目录;
  • userdel –r superman 删除用户及用户家目录,用户login系统无法删除;
  • userdel –rf superman 强制删除用户及该用户家目录,不论是否login系统。

5 Linux权限管理

Linux权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的操作。

Linux每个进程都是以某个用户身份运行,进程的权限与该用户的权限一样,用户的权限越大,则进程拥有的权限就越大。

Lnux中有的文件及文件夹都有至少三种权限,常见的权限如表所示:

权限 对文件的影响 对目录的影响
r(读取) 可读取文件内容 可列出目录内容
w(写入) 可修改文件内容 可在目录中创建删除内容
x(执行) 可作为命令执行 可访问目录内容
目录必须拥有x权限,否则无法查看其内容

Linux权限授权,默认是授权给三种角色,分别是user、group、other,Linux权限与用户之间的关联如下:

  • U代表User,G代表Group,O代表Other;
  • 每个文件的权限基于UGO进行设置;
  • 权限三位一组(rwx),同时需授权给三种角色,UGO;
  • 每个文件拥有一个所属用户和所属组,对应UGO,不属于该文件所属用户或所属组使用O来表示;

在Linux系统中,可以通过ls –l查看目录的详细属性,如下所示:

[root@superman-vm01 ~]# ls -l /home
drwxr-xr-x 2 superman superman 15 Jul 7 07:27 superman

shuchaoyang目录属性参数详解如下:

  • d 表示目录,同一位置如果为-则表示普通文件;
  • rwxrwxr-x 表示三种角色的权限,每三位为一种角色,依次为u,g,o权限,如上则表示user的权限为rwx,group的权限为r-x,other的权限为r-x;
  • 2表示文件夹的链接数量,可理解为该目录下子目录的数量;
  • 从左到右,第一个superman表示该用户名,第二个superman则为组名,其它人角色默认不显示;
  • 15表示该文件夹占据的字节数;
  • Jul 7 07:27表示文件创建或者修改的时间;
  • 最右边的superman为目录的名,或者文件名。

6 Chown属主及属组

修改某个用户、组对文件夹的属主及属组,用命令chown实现,案例演示如下:

1、修改superman文件夹所属的用户为root,其中-R参数表示递归处理所有的文件及子目录。

[root@superman-vm01 ~]# cd /home
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwx------ 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]# chown -R root superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwx------ 3 root superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

2、修改superman文件夹所属的组为root。

[root@superman-vm01 home]# ll
total 0
drwx------ 3 root superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chown -R :root superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwx------ 3 root root 78 Jul 9 05:57 superman
[root@superman-vm01 home]# 或者
[root@superman-vm01 home]# ll
total 0
drwx------ 3 root superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chgrp -R root superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwx------ 3 root root 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

3、修改superman文件夹所属的用户为superman,组也为superman。

[root@superman-vm01 home]# ll
total 0
drwx------ 3 root root 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chown -R superman:superman superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwx------ 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

7 Chmod用户及组权限

修改某个用户、组对文件夹的权限,用命令chmod实现,其中以代指ugo,、-、=代表加入、删除和等于对应权限,具体案例如下:

1、授予用户对superman目录拥有x权限

[root@superman-vm01 home]# ll
total 0
drw------- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R u+x superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwx------ 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

2、授予组对superman目录拥有rwx权限

[root@superman-vm01 home]# ll
total 0
drwx------ 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R g+rwx superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwxrwx--- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

3、授予用户、组、其它人对superman目录拥有rwx权限

[root@superman-vm01 home]# ll
total 0
d--------- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R u+rwx,g+rwx,o+rwx superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwxrwxrwx 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

4、撤销用户对superman目录拥有w权限

[root@superman-vm01 home]# ll
total 0
drwxrwxrwx 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R u-w superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
dr-xrwxrwx 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

5、撤销用户、组、其它人对superman目录拥有x权限

[root@superman-vm01 home]# ll
total 0
dr-xrwxrwx 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R u-x,g-x,o-x superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
dr--rw-rw- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

6、授予用户、组、其它人对superman目录只有rx权限

[root@superman-vm01 home]# ll
total 0
dr--rw-rw- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R u=rx,g=rx,o=rx superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
dr-xr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

8 Chmod二进制权限

Linux权限默认使用rwx来表示,为了更简化在系统中对权限进行配置和修改,Linux权限引入二进制表示方法,如下代码:

Linux权限可以将rwx用二进制来表示,其中有权限用1表示,没有权限用0表示; Linux权限用二进制显示如下: rwx=111 r-x=101 rw-=110 r--=100 依次类推,转化为十进制,对应十进制结果显示如下: rwx=111=4+2+1=7 r-x=101=4+0+1=5 rw-=110=4+4+0=6 r--=100=4+0+0=4 得出结论,用r=4,w=2,x=1来表示权限。

使用二进制方式来修改权限案例演示如下,其中默认superman目录权限为755:

1、授予用户对superman目录拥有rwx权限

[root@superman-vm01 home]# ll
total 0
dr-xr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R 755 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwxr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

2、授予组对superman目录拥有rwx权限

[root@superman-vm01 home]# ll
total 0
drwxr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R 775 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwxrwxr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

3、授予用户、组、其它人对superman目录拥有rwx权限

[root@superman-vm01 home]# ll
total 0
drwxrwxr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R 777 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwxrwxrwx 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

4、撤销用户对superman目录拥有w权限

[root@superman-vm01 home]# ll
total 0
drwxrwxrwx 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R 555 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
dr-xr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]

5、撤销用户、组、其它人对superman目录拥有x权限

[root@superman-vm01 home]# ll
total 0
dr-xr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R 644 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drw-r--r-- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

6、授予用户、组、其它人对superman目录只有rx权限

[root@superman-vm01 home]# ll
total 0
drw-r--r-- 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod -R 555 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
dr-xr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#

9 Linux特殊权限及掩码

Linux权限除了常见的rwx权限之外,还有很多特殊的权限,细心的读者会发现,为什么Linux目录默认权限755,而文件默认权限为644呢,这是因为Linux权限掩码umask导致。

每个Linux终端都拥有一个umask属性,umask熟悉可以用来确定新建文件、目录的默认权限,默认系统权限掩码为022。在系统中每创建一个文件或者目录,文件默认权限是666,而目录权限则为777,权限对外开放比较大,所以设置了权限掩码之后,默认的文件和目录权限减去umask值才是真实的文件和目录的权限。

  • 对应目录权限为:777-022=755;
  • 对应文件权限为:666-022=644;
  • 执行umask命令可以查看当前默认的掩码,umask -S 023可以设置默认的权限掩码。

在Linux权限中,除了普通权限外,还有如下表所示,三个特殊权限:

权限 对文件的影响 对目录的影响
suid 以文件的所属用户身份执行,而非执行文件的用户
sgid 以文件所属组身份去执行 在该目录中创建任意新文件的所属组与该目录的所属组相同
sticky 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其它用户所拥有的文件

Linux中设置特殊权限方法如下:

  • 设置suid: chmod u+s superman
  • 设置sgid: chmod g+s superman
  • 设置sticky: chmod o+t superman

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

  • SUID = 4
  • SGID = 2
  • Sticky = 1

可以通过chmod 4755 superman对该目录授予特殊权限为s的权限,Linux系统中s权限的应用常见包括:su、passwd、sudo

[root@superman-vm01 home]# ll
total 0
dr-xr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# chmod 4755 superman
[root@superman-vm01 home]#
[root@superman-vm01 home]# ll
total 0
drwsr-xr-x 3 superman superman 78 Jul 9 05:57 superman
[root@superman-vm01 home]#
[root@superman-vm01 ~]# ll /usr/bin/su
-rwsr-xr-x. 1 root root 32208 Oct 31 2018 /usr/bin/su
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
[root@superman-vm01 ~]#
[root@superman-vm01 ~]# ll /usr/bin/sudo
---s--x--x. 1 root root 147392 Oct 31 2018 /usr/bin/sudo
[root@superman-vm01 ~]#

欢迎关注我的微信公众号【超哥的IT私房菜】获取更多技术干货!

有什么吐槽或反馈意见,直接告诉我!

我会解决您说的问题,进一步更好的服务您哦!

Linux云计算-04_Linux用户及权限管理的更多相关文章

  1. 浅析Linux系统下用户与权限管理

    Linux作为一种多用户多任务操作系统,在日常的使用中不可避免地要划分出一个角色的概念来管理和使用计算机,这个角色与每一个计算机使用者关联,在Linux中称这种角色为用户.而在每一个用户使用计算机的过 ...

  2. linux ftp 添加用户及权限管理

    Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用 ...

  3. linux文件系统的用户和权限管理

    1. 为什么要有用户的概念? 多用户,多任务业务对系统资源的隔离产生需求 2. linux 用户的分类? 2.1. 管理员 拥有操作所有文件的权限 2.2. 普通用户 2.2.1. 普通登录用户 2. ...

  4. 小白养成记——Linux中的用户和权限管理

    1.用户组管理 每个用户都属于一个用户组,系统可以对一个用户组中的所有用户进行集中管理. 在创建用户时,如果未指定组,则系统会创建一个与用户名同名的组. 以下是关于用户组管理的一些基本命令: 新建用户 ...

  5. 【linux相识相知】用户及权限管理

    linux系统是多用户(Multi-users)和多任务(Multi-tasks)的,这样的目的是为了一台linux主机可以给很多用户提供服务同时运行多种服务,但是我们是怎么区分每个用户呢?作为一个管 ...

  6. linux用户及权限管理

    [文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...

  7. Linux用户和权限管理看了你就会用啦

    前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了.这篇主要将Linux下的用户和权限知识点再整理 ...

  8. Linux用户和权限——管理文件权限的命令

    Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...

  9. Linux用户和权限——管理用户和用户组的命令

    Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...

随机推荐

  1. Linux单用户模式(修改密码、运行级别)方法详解

    很多新手当面对"忘记 root 账户密码导致无法登陆系统"这个问题时,直接选择重新系统.其实大可不必,我只需要进入 emergency mode(单用户模式)更新 root 账户的 ...

  2. Hive 配置项详解

    hive.ddl.output.format: hive的ddl语句的输出格式, 默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置: hive.exec.script.wrap ...

  3. centos7网卡配置文件详解与固定服务器ip

    环境:Centos7.3(最小安装方式安装) 查看自动获取的IP地址 ip addr 更改网卡配置,配置静态IP 网卡配置文件位置:/etc/sysconfig/network-scripts/ifc ...

  4. 为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

    为鸿蒙说两句公道话 今天看了鸿蒙系统的评测,看完后我感觉很欣慰,为什么这么说 ? 不是很多人吐槽鸿蒙是 Android 套壳吗 ?或者叫鸿蒙 UI 吗?说鸿蒙没有自己的核心技术.看了鸿蒙系统的设计,底 ...

  5. 『言善信』Fiddler工具 — 4、Fiddler面布局详解【工具栏】

    目录 (一)工具栏详细介绍 1.第一组工具: 2.第二组工具: 3.第三组工具: 4.第四组工具: (二)工具栏使用说明 1.Fiddler修改代理端口: 2.过滤Tunnel to...443请求链 ...

  6. ALD和CVD晶体管薄膜技术

    ALD和CVD晶体管薄膜技术 现代微处理器内的晶体管非常微小,晶体管中的一些关键薄膜层甚至只有几个原子的厚度,光是英文句点的大小就够容纳一百万个晶体管还绰绰有余.ALD 是使这些极细微结构越来越普遍的 ...

  7. 智能物联网(AIoT,2020年)(中)

    智能物联网(AIoT,2020年)(中) 05 中国AIoT产业图谱 06 中国AIoT商业模式 标准程度越低人力和时间成本投入越多,2B2C模式附加值高 07 中国AIoT玩家分布简介 四类玩家,优 ...

  8. MinkowskiBroadcast广播

    MinkowskiBroadcast广播 MinkowskiBroadcastAddition广播加法 class MinkowskiEngine.MinkowskiBroadcastAddition ...

  9. Python分析离散心率信号(下)

    Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...

  10. AI芯片加速图像识别

    AI芯片加速图像识别 AI chip accelerates image recognition 法国研究机构CEA-Leti和LIST在2020年VLSI研讨会上展示了一种概念验证芯片,该芯片集成了 ...