【HCIA-openEuler】实验手册—04【openEuler用户及权限管理】

news2024/11/19 6:19:18

文章目录

  • 一、实验介绍
    • 1、关于本实验
    • 2、实验目的
  • 二、实验任务配置
    • 1、配置步骤
      • (1)用户和用户组的管理
        • 步骤1:who命令是显示目前登录系统的用户信息
        • 步骤2:id命令用于显示用户的ID,以及所属群组的ID
        • 步骤3:以root 用户登录到系统,创建用户tom、bob、jack,且创建jack 用户时指定其UID为1024
        • 步骤4:将用户tom 的用户名改为tony,以及将其家目录改为/home/tony。-I 修改用户账号名称
        • 步骤5:将用户bob 及家目录一并给删除掉
        • 步骤6:su切换用户
      • (2)用户账号的锁定操作
        • 步骤1:首先分别给tony 账号和jack 账号设置密码,密码设置为Huawei@123,此处输入密码不会有显示
        • 步骤2:然后将jack 账号锁定,测试效果后再解锁。锁住账号密码意味着不能登录系统
        • 步骤3:chage命令查看编辑密码过期时间
      • (3)用户组管理
        • 步骤1:创建hatest 组,且将用户tony、jack 加到hatest 组里面
        • 步骤2:删除,修改用户组
      • (4)手工及批量创建账号
        • 步骤1:编辑一个文本用户文件,每一列按照/etc/passwd 密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x 号
        • 步骤2:以root 身份执行命令newusers,从刚创建的用户文件user.txt 中导入数据,创建用户
      • (5)查看常见用户关联文件
        • 步骤1:查看用户账号信息文件:/etc/passwd
        • 步骤2:查看用户账号信息加密文件/etc/shadow
        • 步骤3:查看组信息文件/etc/group
        • 步骤4:查看组信息加密文件/etc/gshadow
      • (6)设置文件及目录的权限及归属
        • 步骤1:使用root 用户创建目录/test 以及在其下创建文件file1、文件file2,并查看其默认的权限及归属
        • 步骤2:将/root/test 目录修改为公共共享目录即给其设置t 权限位。T权限位意味着该目录中的文件只有属主属组才可以删除,即使某个属组用户具有和属主同等的权限,也删除不了。这里就是指test目录下,任何用户都具有读写执行权限,但是不是任何人对里面的可写权限的文件就可以删除。只有所有者才可以删除,root除外
        • 步骤3:将文件 file1 设为所有人皆可读取
        • 步骤4:将文件 file1设为所有人皆可读取
        • 步骤5:将文件 file1 与 file2 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
        • 步骤6:将目前目录下的所有文件与子目录皆设为任何人可读取
        • 步骤7:将文件file1 的所属用户改为jack,所属用户组改为hatest 组
        • 步骤8:修改文件群组属性
        • 步骤9:通过umask来查看为修改权限掩码前umask值
        • 步骤10:使用umask命令进行权限的修改
      • (7)ACL的设置
        • 步骤1:先使得文件file1 的所属组对其有写入权限
        • 步骤2:配置文件ACL 使得hatest 组中tony 用户对文件file1 只有只读权限
        • 步骤3:换到tony 用户下测试是否能写入file1 文件
        • 步骤4:清除文件名为file1的文件上的ACL设置


一、实验介绍

1、关于本实验

​ 本实验主要介绍了openEuler操作系统的用户和权限管理

2、实验目的

​ 掌握用户和组的管理;

​ 掌握文件权限的管理;

二、实验任务配置

1、配置步骤

(1)用户和用户组的管理

步骤1:who命令是显示目前登录系统的用户信息

[root@localhost ~]# who
root     tty1         2022-12-28 12:26
root     pts/0        2022-12-28 15:13 (192.168.74.1)
[root@localhost ~]#

步骤2:id命令用于显示用户的ID,以及所属群组的ID

[root@localhost ~]# id
用户id=0(root) 组id=0(root)=0(root) 上下文=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost ~]#

步骤3:以root 用户登录到系统,创建用户tom、bob、jack,且创建jack 用户时指定其UID为1024

[root@localhost ~]# useradd tom
[root@localhost ~]# useradd bob
[root@localhost ~]# useradd -u 1024 jack
[root@localhost ~]# tail -3 /etc/passwd
tom:x:1000:1000::/home/tom:/bin/bash
bob:x:1001:1001::/home/bob:/bin/bash
jack:x:1024:1024::/home/jack:/bin/bash
[root@localhost ~]# useradd -d /home/myd bob1     #为新添加的用户指定home目录
[root@localhost ~]# useradd -d /usr/local/apache -g apache -s /bin/false bob2     #添加一个不能登录的用户;添加一个bob2用户,登录目录为/usr/local/apache,用户组为apache,指定shell为/bin/false;将用户 shell 设置为 /usr/sbin/nologin 或者 /bin/false,表示拒绝用户登录
[root@localhost ~]#

步骤4:将用户tom 的用户名改为tony,以及将其家目录改为/home/tony。-I 修改用户账号名称

[root@localhost ~]# usermod -l tony tom
[root@localhost ~]# cp -r /home/tom/ /home/tony/
[root@localhost ~]# cd /home/tony/
[root@localhost tony]# cd ~
[root@localhost ~]# usermod -d /home/tony/ tony
[root@localhost ~]# tail -3 /etc/passwd
bob1:x:1025:1025::/home/myd:/bin/bash
bob2:x:1026:48::/usr/local/apache:/bin/false
tony:x:1000:1000::/home/tony/:/bin/bash
[root@localhost ~]#

​ 修改原tom 用户的私有组名tom 改为tony。-n 修改为要使用的组名称

[root@localhost ~]# groupmod -n tony tom
[root@localhost ~]# tail -1 /etc/group
tony:x:1000:
[root@localhost ~]#

步骤5:将用户bob 及家目录一并给删除掉

[root@localhost ~]# userdel -r bob
[root@localhost ~]# tail -2 /etc/passwd
bob2:x:1026:48::/usr/local/apache:/bin/false
tony:x:1000:1000::/home/tony/:/bin/bash
[root@localhost ~]#

注意:上图是显示用户配置文件的末尾2 行,可以看到这里没有bob 用户了在家目录中也没有了bob目录。

[root@localhost ~]# ls /home/
jack  lost+found  myd  tom  tony

步骤6:su切换用户

​ 我们在终端上从当前root 用户切换的到jack 用户

[root@localhost ~]# su jack


Welcome to 4.19.90-2003.4.0.0036.oe1.x86_64

System information as of time:  20221229日 星期四 12:14:31 CST

System load:    0.00
Processes:      159
Memory used:    19.3%
Swap used:      0.0%
Usage On:       9%
IP address:     192.168.74.138
Users online:   2



[jack@localhost root]$ pwd
/root
[jack@localhost root]$ exit
exit
[root@localhost ~]# su - jack
上一次登录:四 1229 12:14:31 CST 2022pts/0 上


Welcome to 4.19.90-2003.4.0.0036.oe1.x86_64

System information as of time:  20221229日 星期四 12:14:46 CST

System load:    0.00
Processes:      160
Memory used:    19.4%
Swap used:      0.0%
Usage On:       9%
IP address:     192.168.74.138
Users online:   2



[jack@localhost ~]$ pwd
/home/jack
[jack@localhost ~]$ exit
注销
[root@localhost ~]#

问题:请简述两种su命令切换用户有什么不同?

(2)用户账号的锁定操作

步骤1:首先分别给tony 账号和jack 账号设置密码,密码设置为Huawei@123,此处输入密码不会有显示

[root@localhost ~]# passwd tony
更改用户 tony 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#

步骤2:然后将jack 账号锁定,测试效果后再解锁。锁住账号密码意味着不能登录系统

​ 查看jack 账号当前的状态。-S 显示用户密码信息,-l 锁定账号密码,-u 解锁

[root@localhost ~]# passwd -S jack
jack LK 2022-12-29 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -l jack
锁定用户 jack 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S jack
jack LK 2022-12-29 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -uf jack     //openEuler在这里做了安全加强,必须加上-f强制解锁。其实不加也行。
解锁用户 jack 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -S jack
jack NP 2022-12-29 0 99999 7 -1 (密码为空。)
[root@localhost ~]#

步骤3:chage命令查看编辑密码过期时间

​ 查看用户密码过期时间

[root@localhost ~]# chage -l jack
最近一次密码修改时间                   :12月 29, 2022
密码过期时间                         :从不
密码失效时间                         :从不
帐户过期时间                         :从不
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数        :7
[root@localhost ~]#

编辑用户密码过期时间,其它参数说明:

​ ✔ -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。

​ ✔ -M 密码保持有效的最大天数。

​ ✔ -W 用户密码到期前,提前收到警告信息的天数。

​ ✔ -E 帐号到期的日期。过了这天,此帐号将不可用。

​ ✔ -d 上一次更改的日期

​ ✔ -I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

​ ✔ -l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

(3)用户组管理

步骤1:创建hatest 组,且将用户tony、jack 加到hatest 组里面

[root@localhost ~]# groupadd hatest
[root@localhost ~]# gpasswd -M tony,jack hatest     # -M 设置组 GROUP 的成员列表
[root@localhost ~]# tail -1 /etc/group     #查看用户组是否创建成功
hatest:x:1026:tony,jack
[root@localhost ~]#

步骤2:删除,修改用户组

[root@localhost ~]# groupadd group1
[root@localhost ~]# groupadd -g 101 group2
[root@localhost ~]# groupdel group1     #删除用户组
[root@localhost ~]# groupmod -g 102 group2     #更改用户组ID
[root@localhost ~]# cat /etc/group     #查看用户组
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:sanlock
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
users:x:100:
nobody:x:65534:
utmp:x:22:
input:x:999:
kvm:x:36:qemu
render:x:998:
systemd-journal:x:190:
systemd-coredump:x:997:
systemd-network:x:192:
systemd-resolve:x:193:
ssh_keys:x:996:
sshd:x:74:
systemd-timesync:x:995:
unbound:x:994:
tss:x:59:
polkitd:x:993:
saslauth:x:76:
rpc:x:32:
printadmin:x:992:
libstoragemgmt:x:991:
apache:x:48:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
pcp:x:990:
brlapi:x:989:
dnsmasq:x:988:
cgred:x:987:
libvirt:x:986:
radvd:x:75:
sanlock:x:179:
dhcpd:x:177:
rpcuser:x:29:
qemu:x:107:
named:x:25:
gluster:x:985:
setroubleshoot:x:984:
geoclue:x:983:
cockpit-ws:x:982:
pegasus:x:65:
chrony:x:981:
pcpqa:x:980:
pesign:x:979:
postdrop:x:90:
postfix:x:89:
slocate:x:21:
tcpdump:x:72:
dbus:x:978:
jack:x:1024:
bob1:x:1025:
tony:x:1000:
hatest:x:1026:tony,jack
group2:x:102:
[root@localhost ~]#

(4)手工及批量创建账号

步骤1:编辑一个文本用户文件,每一列按照/etc/passwd 密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x 号

[root@localhost ~]# vim users.txt
user1:x:1200:1200:user001:/home/user1:/bin/bash
user2:x:1201:1201:user002:/home/user2:/bin/bash
user3:x:1202:1202:user003:/home/user3:/bin/bash

步骤2:以root 身份执行命令newusers,从刚创建的用户文件user.txt 中导入数据,创建用户

[root@localhost ~]# newusers < users.txt
[root@localhost ~]# tail -3 /etc/passwd
user1:x:1200:1200:user001:/home/user1:/bin/bash
user2:x:1201:1201:user002:/home/user2:/bin/bash
user3:x:1202:1202:user003:/home/user3:/bin/bash

(5)查看常见用户关联文件

步骤1:查看用户账号信息文件:/etc/passwd

[root@localhost ~]# cat /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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
systemd-timesync:x:998:995:systemd Time Synchronization:/:/sbin/nologin
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
polkitd:x:996:993:User for polkitd:/:/sbin/nologin
saslauth:x:995:76:Saslauthd user:/run/saslauthd:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
libstoragemgmt:x:994:991:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
pcp:x:993:990:PCP:/var/lib/pcp:/sbin/nologin
dnsmasq:x:988:988:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
sanlock:x:179:179:sanlock:/var/run/sanlock:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
named:x:25:25:Named:/var/named:/bin/false
gluster:x:987:985:GlusterFS daemons:/run/gluster:/sbin/nologin
setroubleshoot:x:986:984::/var/lib/setroubleshoot:/sbin/nologin
geoclue:x:985:983:User for geoclue:/var/lib/geoclue:/sbin/nologin
cockpit-ws:x:984:982:User for cockpit-ws:/:/sbin/nologin
pegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
chrony:x:983:981::/var/lib/chrony:/sbin/nologin
pcpqa:x:982:980:PCP Quality Assurance:/var/lib/pcp/testsuite:/bin/bash
pesign:x:981:979:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
dbus:x:978:978:System Message Bus:/:/usr/sbin/nologin
jack:x:1024:1024::/home/jack:/bin/bash
bob1:x:1025:1025::/home/myd:/bin/bash
bob2:x:1026:48::/usr/local/apache:/bin/false
tony:x:1000:1000::/home/tony/:/bin/bash
user1:x:1200:1200:user001:/home/user1:/bin/bash
user2:x:1201:1201:user002:/home/user2:/bin/bash
user3:x:1202:1202:user003:/home/user3:/bin/bash
[root@localhost ~]#

步骤2:查看用户账号信息加密文件/etc/shadow

[root@localhost ~]# cat /etc/shadow
root:$6$tkamNBR3x3v2RMGj$jlkFK6WQTEL4JJe88lSJWysquOmOcvwmL98I0p8bK5lXgTf/JBwUGfkLeFuATvuPukCfIF1/cO6i0Yi/mjvNS/:19354:0:99999:7:::
bin:*:18344:0:99999:7:::
daemon:*:18344:0:99999:7:::
adm:*:18344:0:99999:7:::
lp:*:18344:0:99999:7:::
sync:*:18344:0:99999:7:::
shutdown:*:18344:0:99999:7:::
halt:*:18344:0:99999:7:::
mail:*:18344:0:99999:7:::
operator:*:18344:0:99999:7:::
games:*:18344:0:99999:7:::
ftp:*:18344:0:99999:7:::
nobody:*:18344:0:99999:7:::
systemd-coredump:!:19354::::::
systemd-network:!:19354::::::
systemd-resolve:!:19354::::::
sshd:!:19354::::::
systemd-timesync:!:19354::::::
unbound:!:19354::::::
tss:!:19354::::::
polkitd:!:19354::::::
saslauth:!:19354::::::
rpc:!:19354:0:99999:7:::
libstoragemgmt:!:19354::::::
apache:!:19354::::::
pcp:!:19354::::::
dnsmasq:!!:19354:::::1:
radvd:!:19354::::::
sanlock:!:19354::::::
dhcpd:!:19354::::::
rpcuser:!:19354::::::
qemu:!:19354::::::
named:!:19354::::::
gluster:!:19354::::::
setroubleshoot:!:19354::::::
geoclue:!:19354::::::
cockpit-ws:!:19354::::::
pegasus:!:19354::::::
chrony:!:19354::::::
pcpqa:!:19354::::::
pesign:!:19354::::::
postfix:!:19354::::::
tcpdump:!:19354::::::
dbus:!!:19354:::::1:
jack::19355:0:99999:7:::
bob1:!:19355:0:99999:7:::
bob2:!:19355:0:99999:7:::
tony:$6$NCvzz/9J5i7QC5gI$z/x8e7mklHOE.3saKrEsrXk.bbJV5CB.5SGKyuUa2m9yp6nTgBLCrj6w0tje1ERUxEiC.b9l4fUiT2bIyCloD1:19355:0:99999:7:::
user1:$6$xr6d91EYL6/D1b8m$EBk1mMfQ1ZhDh8MlTLoEvSahf/WznUp1HOX97ew2cnP0lRf2ZpRQ3rSSj4KtyrbmMejBgnI8HfGs37rCVqSW5.:19355:0:99999:7:::
user2:$6$tTBvnRUYkkVMf$w.C90vDoUzHpSYJ8zj2Tgh2Yr2ChyrCt0z/VbxjKLeugsyUcLsZY1/pBJKjOIbuA5NukDfI6JGCvWYr7RfKAQ1:19355:0:99999:7:::
user3:$6$tTBvnRUYkkVMf$w.C90vDoUzHpSYJ8zj2Tgh2Yr2ChyrCt0z/VbxjKLeugsyUcLsZY1/pBJKjOIbuA5NukDfI6JGCvWYr7RfKAQ1:19355:0:99999:7:::
[root@localhost ~]#

步骤3:查看组信息文件/etc/group

[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:sanlock
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
users:x:100:
nobody:x:65534:
utmp:x:22:
input:x:999:
kvm:x:36:qemu
render:x:998:
systemd-journal:x:190:
systemd-coredump:x:997:
systemd-network:x:192:
systemd-resolve:x:193:
ssh_keys:x:996:
sshd:x:74:
systemd-timesync:x:995:
unbound:x:994:
tss:x:59:
polkitd:x:993:
saslauth:x:76:
rpc:x:32:
printadmin:x:992:
libstoragemgmt:x:991:
apache:x:48:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
pcp:x:990:
brlapi:x:989:
dnsmasq:x:988:
cgred:x:987:
libvirt:x:986:
radvd:x:75:
sanlock:x:179:
dhcpd:x:177:
rpcuser:x:29:
qemu:x:107:
named:x:25:
gluster:x:985:
setroubleshoot:x:984:
geoclue:x:983:
cockpit-ws:x:982:
pegasus:x:65:
chrony:x:981:
pcpqa:x:980:
pesign:x:979:
postdrop:x:90:
postfix:x:89:
slocate:x:21:
tcpdump:x:72:
dbus:x:978:
jack:x:1024:
bob1:x:1025:
tony:x:1000:
hatest:x:1026:tony,jack
group2:x:102:
user1:x:1200:
user2:x:1201:
user3:x:1202:
[root@localhost ~]#

步骤4:查看组信息加密文件/etc/gshadow

[root@localhost ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::sanlock
lp:::
mem:::
kmem:::
wheel:::
cdrom:::
mail:::postfix
man:::
dialout:::
floppy:::
games:::
tape:::
video:::
ftp:::
lock:::
audio:::
users:::
nobody:::
utmp:!::
input:!::
kvm:!::qemu
render:!::
systemd-journal:!::
systemd-coredump:!::
systemd-network:!::
systemd-resolve:!::
ssh_keys:!::
sshd:!::
systemd-timesync:!::
unbound:!::
tss:!::
polkitd:!::
saslauth:!::
rpc:!::
printadmin:!::
libstoragemgmt:!::
apache:!::
stapusr:!::
stapsys:!::
stapdev:!::
pcp:!::
brlapi:!::
dnsmasq:!!::
cgred:!::
libvirt:!::
radvd:!::
sanlock:!::
dhcpd:!::
rpcuser:!::
qemu:!::
named:!::
gluster:!::
setroubleshoot:!::
geoclue:!::
cockpit-ws:!::
pegasus:!::
chrony:!::
pcpqa:!::
pesign:!::
postdrop:!::
postfix:!::
slocate:!::
tcpdump:!::
dbus:!!::
jack:!::
bob1:!::
tony:!::
hatest:!::tony,jack
group2:!::
user1:*::
user2:*::
user3:*::
[root@localhost ~]#

(6)设置文件及目录的权限及归属

步骤1:使用root 用户创建目录/test 以及在其下创建文件file1、文件file2,并查看其默认的权限及归属

[root@localhost ~]# mkdir test
[root@localhost ~]# cd /root/test
[root@localhost test]# touch file1
[root@localhost test]# touch file2
[root@localhost test]# ll
总用量 0
-rw-------. 1 root root 0 1229 14:08 file1
-rw-------. 1 root root 0 1229 14:08 file2
[root@localhost test]# ls -l /root | grep test
drwx------. 2 root root  4096 1229 14:08 test
[root@localhost test]#

步骤2:将/root/test 目录修改为公共共享目录即给其设置t 权限位。T权限位意味着该目录中的文件只有属主属组才可以删除,即使某个属组用户具有和属主同等的权限,也删除不了。这里就是指test目录下,任何用户都具有读写执行权限,但是不是任何人对里面的可写权限的文件就可以删除。只有所有者才可以删除,root除外

[root@localhost test]# cd
[root@localhost ~]# chmod 1777  test
[root@localhost ~]# ls -l /root | grep test
drwxrwxrwt. 2 root root  4096 1229 14:08 test
[root@localhost ~]# chmod 755 /root/test/file1 /root/test/file2
[root@localhost ~]# ll test
总用量 0
-rwxr-xr-x. 1 root root 0 1229 14:08 file1
-rwxr-xr-x. 1 root root 0 1229 14:08 file2
[root@localhost ~]#

步骤3:将文件 file1 设为所有人皆可读取

[root@localhost ~]# cd test/
[root@localhost test]# chmod ugo+r file1
[root@localhost test]#

步骤4:将文件 file1设为所有人皆可读取

[root@localhost test]# chmod a+r file1
[root@localhost test]#

步骤5:将文件 file1 与 file2 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入

[root@localhost test]# chmod ug+w,o-w file1 file2
[root@localhost test]#

步骤6:将目前目录下的所有文件与子目录皆设为任何人可读取

[root@localhost test]# chmod -R a+r *
[root@localhost test]#

步骤7:将文件file1 的所属用户改为jack,所属用户组改为hatest 组

[root@localhost ~]# chown jack:hatest test/file1
[root@localhost ~]# ll test/
总用量 0
-rwxrwxr-x. 1 jack hatest 0 1229 14:08 file1
-rwxrwxr-x. 1 root root   0 1229 14:08 file2

步骤8:修改文件群组属性

[root@localhost test]# chgrp -v bin file1
'file1' 的所属组已从 hatest 更改为 bin
[root@localhost test]# ll
总用量 0
-rwxrwxr-x. 1 jack bin  0 1229 14:08 file1
-rwxrwxr-x. 1 root root 0 1229 14:08 file2
[root@localhost test]#

步骤9:通过umask来查看为修改权限掩码前umask值

[root@localhost test]# umask
0077
[root@localhost test]#

步骤10:使用umask命令进行权限的修改

[root@localhost test]# umask 022
[root@localhost test]# umask
0022
[root@localhost test]#

(7)ACL的设置

步骤1:先使得文件file1 的所属组对其有写入权限

[root@localhost ~]# chmod 775 test/file1
[root@localhost ~]# ls -l test | grep file1
-rwxrwxr-x. 1 jack bin  0 1229 14:08 file1
[root@localhost ~]#

步骤2:配置文件ACL 使得hatest 组中tony 用户对文件file1 只有只读权限

[root@localhost ~]# getfacl test/file1
# file: test/file1
# owner: jack
# group: bin
user::rwx
group::rwx
other::r-x

[root@localhost ~]# setfacl -m u:tony:r test/file1
[root@localhost ~]# getfacl test/file1
# file: test/file1
# owner: jack
# group: bin
user::rwx
user:tony:r--
group::rwx
mask::rwx
other::r-x

步骤3:换到tony 用户下测试是否能写入file1 文件

注意:这里为了测试起冲突,取消掉/test 目录的t 位

[root@localhost ~]# su - tony
上一次登录:四 1229 14:32:34 CST 2022pts/0 上
su: 警告:无法更改到 /home/tony/ 目录: 权限不够


Welcome to 4.19.90-2003.4.0.0036.oe1.x86_64

System information as of time:  20221229日 星期四 14:33:37 CST

System load:    0.00
Processes:      158
Memory used:    19.5%
Swap used:      0.0%
Usage On:       9%
IP address:     192.168.74.138
Users online:   2



-bash: /home/tony//.bash_profile: 权限不够
[tony@localhost root]$ exit
注销
-bash: /home/tony//.bash_logout: 权限不够

​ 查看tony用户情况:

[root@localhost ~]# id tony
用户id=1000(tony) 组id=1000(tony)=1000(tony),1026(hatest)
[root@localhost ~]#

​ 查看目录权限

[root@localhost ~]# ls -ld /home/tony
drwx------. 2 root root 4096 1229 12:08 /home/tony
[root@localhost ~]#

​ 给777权限

[root@localhost ~]# chmod 777 /home/tony
[root@localhost ~]#

​ 然后正常切换:

[root@localhost /]# su - tony
上一次登录:四 1229 14:37:30 CST 2022pts/0 上


Welcome to 4.19.90-2003.4.0.0036.oe1.x86_64

System information as of time:  20221229日 星期四 14:38:52 CST

System load:    0.00
Processes:      157
Memory used:    19.6%
Swap used:      0.0%
Usage On:       9%
IP address:     192.168.74.138
Users online:   2



-bash: /home/tony//.bash_profile: 权限不够
[tony@localhost ~]$ cd /test/
[tony@localhost test]$ vim file1

在这里插入图片描述

​ 发现文件是只读的,无法写入

步骤4:清除文件名为file1的文件上的ACL设置

[root@localhost test]# getfacl -e file1
# file: file1
# owner: root
# group: bin
user::rwx
user:tony:r--                   #effective:r--
group::rwx                      #effective:rwx
mask::rwx
other::r-x

[root@localhost test]# chacl -B file1
[root@localhost test]# getfacl -e file1
# file: file1
# owner: root
# group: bin
user::rwx
group::rwx
other::r-x

[root@localhost test]#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/159767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vivado 错误代码 [Place 30-574]解决思路

问题描述 最近利用手头的开发板作UDP通信的设计。准备生成比特流时&#xff0c;出现这个错误&#xff1a; 具体信息&#xff1a; [Place 30-574] Poor placement for routing between an IO pin and BUFG. If this sub optimal condition is acceptable for this design, you …

Java(105):Java通过键盘(Scanner)输入数据

Java通过键盘(Scanner)输入数据 在Java中&#xff0c;我们可以使用Scanner 类来获取用户的输入。 Java 中添加了java.util.Scanner类&#xff0c;这是一个用于扫描输入文本的新的实用程序。相比于其他获取用户输入的方式&#xff0c;Scanner是非常方便的。 如果使用Scanner&…

如何理解鲁棒性?为什么robustness会翻译为鲁棒性?

鲁棒性&#xff0c;英文为Robustness&#xff08;承受故障和干扰的能力&#xff09;&#xff0c;是许多复杂系统&#xff08;包括复杂网络&#xff09;的关键属性。复杂网络的鲁棒性研究对许多领域都非常重要。本文着重介绍了鲁棒性的基本定义、命名起源、分类区别、提升方法和…

一图读懂mybatis插件plugin原理

插件是用来改变或者扩展mybatis的原有的功能&#xff0c;mybaits的插件就是通过继承Interceptor拦截器实现的;mybatis中能使用插件进行拦截的 可以进行拦截的 接口和方法如下: Executor (update、query 、 flushStatment 、 commit 、 rollback 、 getTransaction 、 close 、…

机试_1_暴力求解_习题

暴力求解——习题 学习完第一章–暴力求解之后&#xff0c;当然要做相应地练习啦~ https://blog.csdn.net/Window_mouse/article/details/128632426 注&#xff1a;上述习题都可以在牛客进行测试。 例如&#xff0c;第9题链接&#xff1a;xxx定律_牛客题霸_牛客网 (nowcode…

近几年美赛B题分析

美赛B题概述&#xff1a; 美赛赛题类型美国大学生数学建模竞赛目前分为两种类型&#xff0c;MCM&#xff08;Mathematical Contest In Modeling&#xff09;和 ICM&#xff08;Interdisciplinary Contest In Modeling)&#xff0c;两种类型竞赛采用统一标准进行&#xff0c;竞…

金融风控04

特征工程 Filter 1&#xff09;移除低方差特征 假设某特征的特征值只有0和1&#xff0c;并且在所有输入样本中&#xff0c;95%的实例的该特征取值都是1&#xff0c;那就可以认为这个特征作用不大。如果100%都是1&#xff0c;那这个特征就没意义了。当特征值都是离散型变量的…

攻克强化学习技术难题记录

一共经过了5次迭代。 第1次迭代的设计思路&#xff1a; 强化学习demo游戏“cartpole”重述 游戏目标&#xff1a;向左/右移动小车cart&#xff0c;保证杆pole始终在小车上方&#xff0c;是大多数强化学习入门教材都会介绍的一个经典案例。 强化学习要素分析&#xff1a; 智…

【项目实战】Nacos下发路由配置实现Spring Cloud Gateway的动态路由

Spring Cloud Gateway网关的使用和Nacos下发路由配置实现Spring Cloud Gateway的动态路由 一、微服务网关概述 1.1 微服务网关诞生背景 不同的微服务一般会有不同的网络地址&#xff0c;而外部客户端可能需要调用多个服务的接口才能完成一个业务需求&#xff0c;如果让客户端…

泰凌微被暂缓审议:利润下滑遭关注,实控人王维航存在大额负债

1月12日&#xff0c;上海证券交易所披露的信息显示&#xff0c;泰凌微电子&#xff08;上海&#xff09;股份有限公司&#xff08;下称“泰凌微”&#xff09;的首发申请被科创板上市委暂缓审议。据贝多财经了解&#xff0c;上市委现场问题对该公司提出多个问题。 根据申请文件…

用详细实例说明和典型案例实现对分治法进行全面分析 | C++

第一篇 分治法 目录 第一篇 分治法 ●前言 ●一、分治法是什么&#xff1f; 1.简要介绍 2.生活实例 ●二、分治法的典型案例——硬币问题 1.具体问题 2.代码展示&#xff08;C&#xff09; 3.程序代码结果展示 ●总结 前言 简单的来说&#xff0c;算法就是用计算机程序代…

菲中工商贸投资合作签约活动在京举办

2023年1月3日至5日&#xff0c;中菲两国元首亲切会谈后&#xff0c;共同发布了成果丰硕的二十八条内容的联合声明。1月3日至9日&#xff0c;由菲律宾菲中人民友好促进会与中国联合国采购促进会在京联合举办了“菲中工商贸投资合作签约仪式”及“中菲合作项目对接洽谈周”活动。…

FPGA:逻辑函数的代数法化简

文章目录逻辑函数的最简形式逻辑函数的代数化简法并项法吸收法消去法配项法示例1示例2逻辑函数的最简形式 1&#xff0e;化简逻辑函数的意义 LABAˉBAˉBˉ(AAˉ)BAˉBˉ1⋅BAˉBˉBAˉ\begin{aligned} L & A B\bar{A} B\bar{A} \bar{B} \\ & (A\bar{A}) B\bar{A} \ba…

PELT——Per Entity Load Tracking

0. 前言&#xff1a; 今天写第一篇Linux内核调度子系统的文章&#xff0c;首先整理PELT负载追踪方法&#xff0c;之前的基础知识在后续的文章中share出来。文章的写成基本上是在几位内核大佬的文章基础之上完成的&#xff0c;有些地方的文字是直接引用的&#xff0c;但本文只用…

SpringBoot上传文件到Minio服务器

前言 本文主要介绍如何使用SpringBoot上传到minio服务器。 没什么可多说的&#xff0c;公司用什么咱们开发研究什么就完事了。直接分享核心代码。 核心代码 minio依赖 <!-- minio依赖 --><dependency><groupId>io.minio</groupId><artifactI…

ArcGIS基础实验操作100例--实验91栅格欧式分配

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 空间分析篇--实验91 栅格欧式分配 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

第01讲:什么是kubernetes

一、什么是k8s&#xff1f; kubernetes&#xff0c;简称 K8s&#xff0c;是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源 的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes 的目标是让部署容器化的 应用简单并且高效(powerful),Kubern…

马蹄集 时刻求和

时刻求和 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 输入正整数N和M,空格分隔。把他们看作在12小时制的时刻&#xff08;小时&#xff09;求 和并输出&#xff0c;输出最小列宽为3列。 #include<bits/stdc.h> using namespace std; int…

linux篇【14】:网络http协议

目录 一.HTTP协议 1.认识URL &#xff08;1&#xff09;域名->必须被转化成为IP &#xff08;2&#xff09;URL中可以省略的部分 ①端口号可缺省 ②登录信息可以省略 ③当我们访问自己的服务器时&#xff0c;https可省略&#xff0c;端口号不可省 &#xff08;3&#x…

6.2、客户/服务器方式(C/S)对等方式(P2P方式)

网络应用程序运行在处于网络边缘的不同的端系统上&#xff0c;通过彼此间的通信来共同完成某项任务。 开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。\color{red}网络应用程序在各种端系统上的组织方式和它们之间的关系。网…