Linux 账号与权限管理-----你想要的我都有

文章目录

    • 一:用户账号概述
      • 1.1:用户账号
      • 1.2:用户分类
      • 1.3:用户组分类
      • 1.4:组配置文件
      • 1.5:UID和GID
      • 1.6:用户、组管理
      • 1.7:useradd命令------添加用户账号
      • 1.8:passwd命令---设置/更改用户口令
      • 1.9:usermod命令----修改用户账户属性
    • 二:组账号管理
      • 2.1:组账号文件
      • 2.2:groupadd命令--添加账号
      • 2.3:gpasswd命令--添加、删除、设置组成员
      • 2.4:groupdel命令--删除账号信息
      • 2.5:查询账号信息
      • 2.6:groups命令--查询用户账号所在的组
      • 2.7:finger命令--查询用户账号的登录属性
      • 2.8:W命令--查询当前主机的用户登录情况
      • 2.9:lastb--查询历史用户登录记录
    • 三:文件的权限归属
      • 3.1:访问权限
      • 3.2归属(所有权)
    • 3.3:查看文件/目录的权限跟归属
      • 3.4:chmod命令--设置文件和目录权限
      • 3.5:chown命令--设置文件的归属
      • 3.6:权限掩码umask

一:用户账号概述

与Windows操作系统相比,Linux系统中的用户账号和组账号的作用在本质上是一样的, 同样都是基于用户身份来控制对资源的访问,只不过在表现形式及个别细节方面存在些许差异。本小节将介绍Linux系统中用户账号和组账号的相关概念

1.1:用户账号

在linux系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任角色也各不相同,主要包括超级用户、普通用户和程序用户

1.2:用户分类

  • 超级用户:root,人为交互最高权限用户,system为最高权限用户。
  • 普通用户:通过管理管理员创建,权限受到一定限制。
  • 程序用户:不允许登陆,维持系统或某个程序的正常运行

用户配置文件

/etc/passwd:包含用户账号的基本信息

passwd文件的每一行内容中,包含了七个用冒号“:”分隔的配置字段,我们需要了解其含义

Linux 账号与权限管理-----你想要的我都有_第1张图片

[root@localhost ~]# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
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
账号名称:密码占位符:UID、GID:用户说明 家目录:登录shell
/etc/shadow:包含用户账号的密码信息(影子文件)
[root@localhost ~]# head -2 /etc/shadow
root:$6$ODNEf71B$IgcWDyUN/FCLHgiwgu7sOAvNh.VZYjE/nvzvaM.9urCtEW6tKRgDK.xLWhya4PdYo2NAEEIIPwwb3t7PlFT7m1:18442:0:99999:7:::
bin:*:17834:0:99999:7:::

账号名称:密码信息:上次修改密码的时间:密码最短有效天数:密码最长有效天数:提前7天警告密码将过期:密码过期后多少天内禁用此用户:账号失效时间:保留字段

密码信息:MD5加密的密码字串信息;为*!!时,被锁定,不能登陆;为空,无密码。

上次修改密码的时间:表示从1970年1月1日到最近一次修改密码那天所间隔的天数。

密码最短有效天数:修改密码后,最少经过多少天才能再次修改密码。默认为0,不限制。

密码最长有效天数:修改密码后,经过该天数,必须再次修改密码。默认为99999,不限制。

提前7天警告密码将过期:默认值为7

账号失效时间:指定用户账号作废的天数,从1970年1月1日起计算

1.3:用户组分类

  • 基本组(私有组):伴随用户的创建而创建,与用户同名。用户只能属于一个基本组,在/etc/passw中查看。用于保存用户名称、宿主目录、登录shell等基本信息
  • 附加组(公共组):用户可属于多个附加组,在/etc/shadow中查看。用于保存用户密码、账号有效期等信息

1.4:组配置文件

  • /etc/group:包含组的基本信息
  • /etc/gshadow:包含组的密码信息

Linux 账号与权限管理-----你想要的我都有_第2张图片

1.查询root组包含哪些用户

[root@localhost ~]# grep "^root" /etc/group
root:x:0:

2.查询那些组包含root账户

[root@localhost ~]# grep "root" /etc/group
root:x:0:

1.5:UID和GID

  • UID:用户识别号

  • GID:组织别号

用户 UID范围
root 0
程序用户 1~999
普通用户 1000~6000

1.6:用户、组管理

组账号文件也有两个,分别是/etc/group, /etc/gshadow。与用户账号文件非常类似。前者用于保存组账号名称,GID号,组成员等基本信息,后者用于保存组账号的加密密码字符串等信息(但是很少使用到)。

某一个组账号包含哪些用户成员,将会在group文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用逗号“,”分隔。

添加、删除、修改组账号

-u:指定UID
-d:指定家目录位置
-e:指定账户失效时间,YYYY-MM-DD或天数。
-g:指定基本组名称或GID
-G:指定附加组
-M:不创建宿主目录
-s:指定用户的登陆shell,/bin/bash可登录,/sbin/nologin不可登录。

[root@localhost ~]# useradd  -d /zhangsan zhangsan
[root@localhost ~]# useradd -e 2020-06-30 -s /sbin/nologin ftpuser

1.7:useradd命令------添加用户账号

创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在“/etc/passwd”文件中。当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系统上的预设值.新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些均可以利用命令列选项指定。此版本为RedHat Linux提供,可帮每个新加入的使用者建立个别的group,毋须添加-n选项。

    此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
-D:变更预设值。
-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
-g:指定用户所属的群组。值可以是组名也可以是GID。用户组必须已经存在的
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。默认值为/bin/bash。
-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499
[root@localhost ~]# useradd tom3                  ##创建tom3用户
[root@localhost ~]# tail -1 /etc/passwd           ##查看passwd最后一行
tom3:x:1004:1004::/home/tom3:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
tom3:!!:18442:0:99999:7:::
[root@localhost ~]# ls -A /home/tom3               ##确认自动创建的用户的目录
.bash_logout  .bash_profile  .bashrc  .mozilla

1.8:passwd命令—设置/更改用户口令

通过useradd命令新增用户账号以后,还需要为其设置一个密码才能够正常使用.使用passwd命令可设置或修改密码,root用户有权管理其他账号的密码

-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后
-l 停止账号使用
-S 显示密码信息
-u 启用已被停止的账户
-x 设置密码的有效期
-g 修改群组密码
-i 过期后停止用户账号
选择参数:
–help 显示帮助信息
–version 显示版本信息

创建账户示例

[root@localhost ~]# useradd li            ##创建li用户     人机交互
[root@localhost ~]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# echo “321321” | passwd --stdin li     ###免去人机交互设置密码
更改用户 li 的密码 。
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd                ##后面不跟用户是改当前用户的密码
更改用户 root 的密码 。
新的 密码:

通过passwd命令锁定的用户账号,将无法再登录系统(shadow文件中的对应密字码将添加!!字符)只能由管理员来解除锁定。例如由管理员来解除锁定。

[root@localhost ~]# passwd -l tom2     ##锁定账号
锁定用户 tom2 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S tom2     ##查看锁定的账号状态
tom2 LK 2020-06-29 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -u tom2     
解锁用户 tom2 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
[root@localhost ~]# passwd -uf tom2       ##解锁账户
解锁用户 tom2 的密码。
passwd: 操作成功

1.9:usermod命令----修改用户账户属性

对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。较常使用的几个选项如下所述。

-u:修改用户的UID号

-d:修改用户的宿主目录位置

-e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式

-s:指定用户的登录shell

-l:更改用户账户的登录名称(Login Name)

-L:锁定用户账户

-U:解锁用户账户

通过usermod命令同样可以对账号进行锁定、解锁操作,经usermod命令锁定的账号也不能登录(shadow文件中的对应密码字串前将添加“!”字符

[root@localhost ~]# usermod -L tom       ##锁定账户
[root@localhost ~]# passwd -S tom             ##查看tom账户的状态      
tom LK 2020-06-18 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U tom           ##解锁tom账户
解锁用户 tom 的密码。
usermod: 操作成功

若需要修改登录账户的登录名称,可以使用:-l“选项、例如,执行以下操作可以将tom用户的登录名称更改为tom5

[root@localhost ~]# usermod -l tom5 tom
[root@localhost ~]# grep "tom" /etc/passwd
tom2:x:1003:1003::/home/tom2:/bin/bash
tom5:x:1001:1001::/home/tom:/bin/bash

userdel 命令–删除用户账号

当系统的某个用户已经不在再需要使用的时候可以使用userdel命令将该用户删除。使用该命令也需要指定账号名称作为参数,结合”r"选项可同时删除宿主目录。例如执行以下操作将删除名为tom2的用户账号,同时删除其宿主目录

[root@localhost ~]# userdel -r tom5
[root@localhost ~]# ls -ld /home/tom5
ls: 无法访问/home/tom5: 没有那个文件或目录

二:组账号管理

2.1:组账号文件

与组账号相关的配置也有两个,分别是 /etc/group、/etc/gshadow。前者用于保存组账号名称、GID号、组成员等信息,后者用于保存组账号的加密密码字串等信息

案例:执行对应的操作可分别获取root组包括哪些用户成员、哪些组中包含root用户

[root@localhost ~]# grep "^root" /etc/group     ##检索root组包括哪些用户
root:x:0: 
[root@localhost ~]# grep "root" /etc/group      ##检索哪些组包括root用户
root:x:0:

2.2:groupadd命令–添加账号

使用groupadd命令可以添加一个组账号,需要指定GIP号时,可以使用“-g”选项

[root@localhost ~]# groupadd -g 10000 lisi      ##添加lisi组
[root@localhost ~]# tail -1 /etc/group
lisi:x:10000:

2.3:gpasswd命令–添加、删除、设置组成员

gpasswd命令本来是用来设置组账号的密码,但是该功能的极少使用,实际上该命令更多的用来管理组账号的用户成员。需要添加、删除成员用户时,可分别使用“-a” ”-d“选项.

[root@localhost ~]# tail -5 /etc/passwd          ##查看etc/passwd末尾五行
gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin    ##没有用户
[root@localhost ~]# useradd tom     ##现在添加用户tom
[root@localhost ~]# echo "123123" |passwd --stdin tom   ##免交互设置tom 密码为123123
更改用户 tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# useradd tom2        ##创建账户tom2
[root@localhost ~]# echo "123123" |passwd --stdin tom2
更改用户 tom2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# useradd tom3       ##创建tom3
[root@localhost ~]# echo "123123" |passwd --stdin tom3
更改用户 tom3 的密码 。
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# tail -5 /etc/passwd     ##查看etc/passwd末五行
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
tom:x:1000:1000::/home/tom:/bin/bash         ##tom账号信息
tom2:x:1001:1001::/home/tom2:/bin/bash       ##tom2帐户信息
tom3:x:1002:1002::/home/tom3:/bin/bash       ##tom3账户信息
[root@localhost ~]# groupadd test            ##创建test组
[root@localhost ~]# tail -5 /etc/group       ##查看etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:
[root@localhost ~]# gpasswd -a tom test      ####把tom用户添加到test组中
正在将用户“tom”加入到“test”组中
[root@localhost ~]# id tom                   ##查看tomUID信息
uid=1000(tom) gid=1000(tom) 组=1000(tom),1004(test)    ##这里多了一个1004(test)
[root@localhost ~]# tail -5 /etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom                             ##后面多了tom用户 
[root@localhost ~]# gpasswd -M tom2,tom3 test          ##批量添加tom2,tom3用户 中间”,“隔开
[root@localhost ~]# id tom2                ##查看tom2的id信息
uid=1001(tom2) gid=1001(tom2) 组=1001(tom2),1004(test)
[root@localhost ~]# id tom3                ##查看tom3id信息
uid=1002(tom3) gid=1002(tom3) 组=1002(tom3),1004(test)
[root@localhost ~]# id tom                 ##在查看一下tom的id信息 (此时会细心的发现之前被添加到test组的已经没了?)
uid=1000(tom) gid=1000(tom) 组=1000(tom)
[root@localhost ~]# tail -5 /etc/group      ##查看组的后五行信息
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom2,tom3                       ##tom用户被挤掉了  现在是tom2跟tom3

[root@localhost ~]# gpasswd -M tom2 test    ##添加tom2到test组中 
[root@localhost ~]# tail -5 /etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom2                          ##会发现之前的tom2、tom3变为最新的tom2

下用tom测试一下
[root@localhost ~]# gpasswd -M tom test
[root@localhost ~]# tail -5 /etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom                       ##变为tom 加入组中了
 
用gpasswd -a 一个一个添加用户到test组中
[root@localhost ~]# gpasswd -a tom1 test
gpasswd:用户“tom1”不存在
[root@localhost ~]# gpasswd -a tom2 test
正在将用户“tom2”加入到“test”组中
[root@localhost ~]# tail -5 /etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom,tom2
[root@localhost ~]# gpasswd -a tom3 test
正在将用户“tom3”加入到“test”组中
[root@localhost ~]# tail -5 /etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom,tom2,tom3                  ###三个账户都在,没有像-M那样覆盖掉 

[root@localhost ~]# gpasswd -d tom test    ##把用户tom从组中test删除
正在将用户“tom”从“test”组中删除
[root@localhost ~]# tail -5 /etc/group
shuaige:x:1003:
tom:x:1000:
tom2:x:1001:
tom3:x:1002:
test:x:1004:tom2,tom3                     ##已经删除

小结:

  • 用-M添加成员,就会对这个组进行覆盖,把之前所在的用户全部覆盖

  • -a 不会覆盖,相当于追加含义

  • 删除用户只能一个个删除

2.4:groupdel命令–删除账号信息

当系统中的某个组账号不再使用时可以直接指定所属组.

使用命令基本格式
groupdel 组账号名
例如
[root@33 ~]# groupdel  test

2.5:查询账号信息

  • 在用户管理工作中,虽然直接查看用户账号,组账号的配置文件也可以查询相关信息,但不是很乐观。在Linux系统中,还可以使用几个常用的命令查询工具。
  • id命令:查询用户账号的身份标识
  • 使用id命令可以快速查看指定用户账号的UID,GID等表示信息。
[root@localhost ~]# id tom2                   ##查看tom2用户的ID号、组ID、以及所在的附加组ID
uid=1001(tom2) gid=1001(tom2) 组=1001(tom2),1004(test)

2.6:groups命令–查询用户账号所在的组

groups命令可以查指定的用户账号属于哪些组

[root@localhost ~]# groups
root
[root@localhost ~]# groups root
root : root
[root@localhost ~]# groups tom2           ##查询tom2
tom2 : tom2 test                          ##tom2在test组中
[root@localhost ~]# groups tom3  
tom3 : tom3 test

2.7:finger命令–查询用户账号的登录属性

使用finger命令可以查询指定的用户账号的登录属性等详细信息,包括登录名称、完整登录名称、宿主目录、登录Shell等。

finger命令使用格式
finger [用户名]  		查询用户账号的详细信息

2.8:W命令–查询当前主机的用户登录情况

使用W命令可以查询当前主机中的用户登录情况,列出登录账号名称、所在终端、登录时间、来源地点等信息。

[root@localhost ~]# w
 00:59:03 up 15:09,  4 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       :0               176月20 ?xdm?   3:30   0.28s /usr/libexec/gn
root     pts/0    20.0.0.3         23:28   55.00s  0.14s  0.14s -bash
root     pts/2    :0               176月20 17days  0.03s  0.03s bash
root     pts/1    :0               00:59    2.00s  0.02s  0.00s w

2.9:lastb–查询历史用户登录记录

wtmp begins Wed Jun 17 23:17:42 2020
[root@localhost ~]# last
root     pts/3        :0               Sun Jul  5 01:01   still logged in   
root     pts/0        20.0.0.3         Sun Jul  5 01:00   still logged in   
root     pts/1        :0               Sun Jul  5 00:59   still logged in   
root     pts/0        20.0.0.3         Sat Jul  4 23:28 - 01:00  (01:32)    
root     pts/4        :0               Sat Jul  4 18:24 - 18:25  (00:01)    
root     pts/3        20.0.0.3         Sat Jul  4 18:24 - 23:26  (05:02)    
root     pts/3        :0               Sat Jul  4 18:21 - 18:22  (00:00)    
root     pts/1        gateway          Thu Jun 18 08:24 - 20:32 (16+12:08)  
root     pts/0        gateway          Thu Jun 18 08:19 - 19:16 (16+10:56)  
root     pts/1        gateway          Wed Jun 17 22:39 - 00:48  (02:08)    
root     pts/0        gateway          Wed Jun 17 22:33 - 00:33  (02:00)    
root     pts/0        gateway          Wed Jun 17 18:21 - 20:18  (01:56)    
root     pts/3        gateway          Wed Jun 17 16:00 - 18:21  (02:20)  

三:文件的权限归属

在Linux文件系统的安全模型中,在系统的文件赋予两个属性:访问权限和文件所有者,简称”权限“和”归属“

3.1:访问权限

类型 解释
读取r 允许查看文件内容,显示目录列表
写入w 允许修改文件内容,允许在目录中新建,移动,删除文件或子目录
可执行x 允许运行程序,切换目录

3.2归属(所有权)

类型 解释
属主 拥有该文件或目录的用户账号
属组 拥有该文件或目录的组账号

3.3:查看文件/目录的权限跟归属

使用带”-l“选项的ls命令时,将以长格式显示出文件的详细信息,其中包括了该文件的权限个归属等参数。

示例

[root@localhost ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2376 7月   4 23:34 /etc/passwd

Linux 账号与权限管理-----你想要的我都有_第3张图片

1.- 文件类型(数据文件),除了-还有d 目录,l链接文件,c负责输入输出的设备(字符)文件,b负责存储的块设备文件
2.rw- r-- r-- 三个一组,分别代表各个权限
rw- 属主权限,可读可写,r代表读,w代表写,后面的x代表执行,没有相应的权限就在相应的位置用-代替
r-- 属组权限,代表可读,不可写,不可执行
r-- 其他用户(other)权限,代表只读,即可读,不可写,不可执行
第一个root代表属主
第二个root代表属组
34298代表容量大小,默认单位为字节
04-020 00.23:代表创建时间
即:
首字符表示文件类型(-数据文件)d 目录 l链接文件 c 字符设备文件(控制输入输出) b块设备文件(控制存储)

权限,三个一组,分为三块,分别是属主,属组,所有人

头一块代表属主权限 最多的是rwx

第二块是属组权限 rw- 能读能写不能执行 r-x 能都能写不能执行

第三块r-- 所有人权限, other 其他 r-- 只读权限

1 子文件,自己

root 属主

root 属组

我们可以使用-rwxrwxrwx来表示权限也可以用777来表示权限。

rwx采用累加数字形式表示成 7 , r-x 表示成 5 , rwxr-xr-x 表示成755,rw-r–r--表示成644

数字固定不会变,一个普通的数据文件没有执行权限

3.4:chmod命令–设置文件和目录权限

chmod是一条在Linux系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数。只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式,符号模式指定文件的权限。

基本命令格式

chmod 【ugoa...】【+-=】【rwx】文件...
或者
chomod nnn 文件...

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是4+2+1 ,应该是7。
用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw- ,也就是4+2+0 ,应该是6。
其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x ,也就是4+0+1 ,应该是5。

hmod [ugoa] [±=] [rwx] 文件或目录(不常用)(u,g,o,a分别表示属主,属组,其他用户,所有用户)(±=分别表示增加,去除,设置权限)或chmod nnn 文件或目录 (最常用) (nnn表示三位八进制数字,如刚刚提到的 777,755,64等)

常用选项
-R 递归修改指定目录下所有子项的权限

拥有者u 群组g 其他o

rwx rwx rwx

7 7 7

r w x

4 2 1

[root@localhost ~]# cd / opt               ##切换到opt目录
[root@localhost opt]#  ls -l               ##列出文件列表                 
总用量 0
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@localhost opt]# chmod -R 777 rh     ##这边把权限都改为777
[root@localhost opt]# ll
总用量 0
drwxrwxrwx. 2 root root 6 10月 31 2018 rh    ##可以看出都变成rwx具有可读可写执行
[root@localhost opt]# chmod -R 744 rh        ##设置权限744
[root@localhost opt]# ll
总用量 0
drwxr--r--. 2 root root 6 10月 31 2018 rh

[root@localhost opt]# chmod g+w+x,o+w rh      ##设置属组G加w、x可读可写权限 任何用户o+w可读权限
[root@localhost opt]# ll
总用量 0
drwxrwxrw-. 2 root root 6 10月 31 2018 rh

3.5:chown命令–设置文件的归属

chown命令使用基本格式
chown 属主 文件或目录
chown:属组 文件或目录
chown 属主:属组 文件或目录

常用选项
-R		递归修改指定目录下所有文件,子目录的归属
-c      显示更改的部分的信息
-f      忽略错误信息
-h      修复符号链接
-v      显示详细的处理信息

示例:

[root@localhost opt]# useradd shuai           ##创建shuai用户
[root@localhost opt]# echo "123123" |passwd --stdin shuai    ##不交互进行设置账户shuai 设置密码为123123
更改用户 shuai 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost opt]# ll                      ##查看opt详细列表信息 看出属主、属组都是最高权限root
总用量 0
drwxrwxrw-. 2 root root 6 10月 31 2018 rh
[root@localhost opt]# chown -R shuai:root rh    ##修改属主改为tom
[root@localhost opt]# ll
总用量 0
drwxrwxrw-. 2 shuai root 6 10月 31 2018 rh
[root@localhost opt]# chown -R shuai:shuai rh
[root@localhost opt]# ll
总用量 0
drwxrwxrw-. 2 shuai shuai 6 10月 31 2018 rh
[root@localhost opt]# 

3.6:权限掩码umask

Linux 账号与权限管理-----你想要的我都有_第4张图片

      ##创建shuai用户

[root@localhost opt]# echo “123123” |passwd --stdin shuai ##不交互进行设置账户shuai 设置密码为123123
更改用户 shuai 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost opt]# ll ##查看opt详细列表信息 看出属主、属组都是最高权限root
总用量 0
drwxrwxrw-. 2 root root 6 10月 31 2018 rh
[root@localhost opt]# chown -R shuai:root rh ##修改属主改为tom
[root@localhost opt]# ll
总用量 0
drwxrwxrw-. 2 shuai root 6 10月 31 2018 rh
[root@localhost opt]# chown -R shuai:shuai rh
[root@localhost opt]# ll
总用量 0
drwxrwxrw-. 2 shuai shuai 6 10月 31 2018 rh
[root@localhost opt]#


### 3.6:权限掩码umask

[外链图片转存中...(img-UtyqI7rl-1593915178953)]



你可能感兴趣的:(linux,linux)