美文网首页
第三周:Linux之用户、组和权限

第三周:Linux之用户、组和权限

作者: 还没帮马里奥再闯一关 | 来源:发表于2020-12-24 14:36 被阅读0次

Linux用户组和权限管理

1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

[root@localhost data]# ll   #因/etc下没有符合条件的目录,自己生成了3个文件
total 0
-rw-r--r--. 1 root root 0 Dec 21 10:00 123.txt
-rw-r--r--. 1 root root 0 Dec 21 10:00 1a45fg.txt
-rw-r--r--. 1 root root 0 Dec 21 10:00 adf.txt
[root@localhost data]# ls -d /data/[^[:alpha:]][[:alpha:]]*
/data/1a45fg.txt

2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@localhost data]# ll
total 0
drwxr-xr-x. 2 root root 6 Dec 21 11:45 123
drwxr-xr-x. 2 root root 6 Dec 21 11:45 1a345
drwxr-xr-x. 2 root root 6 Dec 21 11:45 p123
drwxr-xr-x. 2 root root 6 Dec 21 11:45 p123def
[root@localhost data]# ls -d /data/p*[^[:digit:]]
/data/p123def
[root@localhost data]# cp -r /data/p*[^[:digit:]] /tmp/mytest1/
[root@localhost data]# ll /tmp/mytest1/
total 0
drwxr-xr-x. 2 root root 6 Dec 21 11:51 p123def

3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@localhost ~]# cat /data/issue | tr 'a-z' 'A-Z' > /data/issue.out
[root@localhost ~]# cat /data/issue
\S
Kernel \r on an \m
[root@localhost ~]# cat /data/issue.out 
\S
KERNEL \R ON AN \M

4、请总结描述用户和组管理类命令的使用方法并完成以下练习:

(1)、创建组distro,其GID为2019;

groupadd -g 2019 distro
getent group distro
distro:x:2019:

(2)、创建用户mandriva,其ID号为1005;基本组为distro;

useradd -u 1005 -g distro mandriva
getent passwd mandriva
mandriva:x:1005:2019::/home/mandriva:/bin/bash

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

useradd -u 1100 -d /home/linux mageia
getent passwd
mageia:x:1100:1100::/home/linux:/bin/bash

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期

echo mageedu | passwd --stdin mageia
passwd -x 7 mageia
Adjusting aging data for user mageia.
passwd: Success
getent shadow mageia
mageia:$6$gQiiDk6ItBirZXFw$z4I9HdJ8a0/0ck4P5GjnxWY8rjjUaYwYiiOKLve.PLvRW96vrMJb3hVHzbZSzGzV5qFlEtIxKGJ9NSdI3gLYh0:18620:0:7:7:::

(5)、删除mandriva, 但保留其家目录;

[root@localhost ~]# userdel mandriva 
[root@localhost ~]# ll /home/
total 0
drwx------. 3 mageia mageia  78 Dec 24 11:47 linux
drwx------. 3   1005 distro  78 Dec 24 11:43 mandriva
drwx------. 4 nn     nn     129 Dec 22 17:42 nn
drwx------. 4 nn1hao nn1hao 113 Dec 21 17:21 nn1hao

(6)、创建用户slackware,其ID号为2002,基本组为distro, 附加组peguin;

[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
[root@localhost ~]# getent passwd slackware 
slackware:x:2002:2019::/home/slackware:/bin/bash

(7)、修改slackware的默认shell为/bin/tcsh;

[root@localhost ~]# chsh -s /bin/tcsh

(8)、为用户slackware新增附加组admins,并设置不可登陆。

usermod -a -G admins -s /sbin/nologin slackware
[root@localhost ~]# getent group admins 
admins:x:2021:slackware

5、创建用户user1、user2、 user3。 在/data/ 下创建目录test

useradd user1;useradd user2;useradd user3;mkdir /data/test

(1)、目录/data/test属主、 属组为user1

chown user1:user1 /data/test/
ll -d /data/test/
drwxr-xr-x. 2 user1 user1 6 Dec 24 13:58 /data/test/

(2)、在目录属主、属组不变的情况下,user2对文件有读写权限

[root@localhost ~]# setfacl -m u:user2:rw /data/test/
[root@localhost ~]# getfacl /data/test/
getfacl: Removing leading '/' from absolute path names
# file: data/test/
# owner: user1
# group: user1
user::rwx
user:user2:rw-
group::r-x
mask::rwx
other::r-x

(3)、user1在/data/test目录 下创建文件a1.sh,a2.sh,a3.sh,a4.sh,设置所有用户都不可删;

[root@localhost test]# su user1
[user1@localhost test]$ touch a{1..4}.sh
[user1@localhost test]$ ll
total 0
-rw-rw-r--. 1 user1 user1 0 Dec 24 14:16 a1.sh
-rw-rw-r--. 1 user1 user1 0 Dec 24 14:16 a2.sh
-rw-rw-r--. 1 user1 user1 0 Dec 24 14:16 a3.sh
-rw-rw-r--. 1 user1 user1 0 Dec 24 14:16 a4.sh
[user1@localhost test]$ chmod o=rx /data/test/*

除1.sh, 2.sh文件、除了user1及root之外,所有用户都不可删除日a3.sh,a4.sh

[user1@localhost test]$ setfacl -m u:user1:rwx a1.sh a2.sh

(4)、user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件

setfacl -R -m g:user1:0 /data/test/*

(5)、清理/data/test目录及 其下所有文件的acd权限

[root@localhost test]# setfacl -R -b /data/test/

相关文章

网友评论

      本文标题:第三周:Linux之用户、组和权限

      本文链接:https://www.haomeiwen.com/subject/fpsmnktx.html