linux学习--文件文本用户

【linux学习--文件文本用户】弓背霞明剑照霜,秋风走马出咸阳。这篇文章主要讲述linux学习--文件文本用户相关的知识,希望能为你提供帮助。
练习:
1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

[root@centos8 ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/1sd84sad.txt

2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@centos8 ~]# ls -d /etc/p*[^[:digit:]]
/etc/pam.d/etc/pinforc/etc/pnm2ppa.conf/etc/profile
/etc/papersize/etc/pipewire/etc/popt.d/etc/profile.d
/etc/passwd/etc/pki/etc/postfix/etc/protocols
/etc/passwd-/etc/plymouth/etc/prelink.conf.d/etc/pulse
/etc/pbm2ppa.conf/etc/pm/etc/printcap
[root@centos8 ~]# cp -R /etc/p*[^[:digit:]] /tmp/mytest1
[root@centos8 ~]# ls/tmp/mytest1/
pam.dpasswd-pipewirepmpostfixprofilepulse
papersizepbm2ppa.confpkipnm2ppa.confprelink.conf.dprofile.d
passwdpinforcplymouthpopt.dprintcapprotocols

3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
[root@centos8 ~]# cat /etc/issue
\\S
Kernel \\r on an \\m
[root@centos8 ~]# cat /etc/issue | tr a-z A-Z > /tmp/issue.out
[root@centos8 ~]# cat /tmp/issue.out
\\S
KERNEL \\R ON AN \\M

4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
useradd[用户名]创建一个普通用户
-r[用户名]创建一个管理员账户
-u [ID号] [用户名] 创建用户并指定UID
-g [组名] [用户名] 创建一个用户并指定所属组
-s[shell类型] [用户名] 创建一个用户并指定shell类型
-d[目录路径] [用户名] 创建一个用户并指定家目录路径
-c“[描述]” [用户名] 创建用户并增加描述
usermod[用户名] 修改用户属性(其中-u,-g,-s,-c,-d这些选项与useradd效果相同)
usermod-G[用户名] 让用户加到某个附加组中
userdel[用户名]删除用户 (只删除用户,不删除数据,家目录等依然留存)
-r [用户名]删除用户(删除用户所有数据)
passwd[用户名]给用户设置或更改密码
groupadd [组名] 创建附加组
-g [ID号] [组名] 创建附加组并指定组ID
-r[组名] 创建一个主组
groupdel删除组


chage[用户名]修改用户密码策略
su[用户名] 切换登录用户(不完全切换,切换后家目录不变)
su - [用户名] 切换登录用户(完全切换,家目录变为用户所在目录)
su-[用户名]-c“[命令]” 可以临时切换用户执行命令,执行完后回到原用户


(1)、创建组distro,其GID为2019;
[root@centos8 ~]# groupadd -g 2019 distro
[root@centos8 ~]# getent group distro
distro:x:2019:

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
[root@centos8 ~]# useradd -u 1005 -g distro mandriva
[root@centos8 ~]# getent passwd mandriva
mandriva:x:1005:2019::/home/mandriva:/bin/bash

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
[root@centos8 ~]# useradd -u 1100 -d /home/linux mageia
[root@centos8 ~]# getent passwd mageia
mageia:x:1100:1100::/home/linux:/bin/bash

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
[root@centos8 ~]# passwd mageia
Changing password for user mageia.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@centos8 ~]# chage -M 7 mageia

(5)、删除mandriva,但保留其家目录;
[root@centos8 ~]# userdel mandriva
[root@centos8 ~]# ls /home/
mandriva

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
[root@centos8 ~]# groupadd peguin
[root@centos8 ~]# getent group peguin
peguin:x:2020:
[root@centos8 ~]# useradd-u 2002 -g distro -G peguin slackware
[root@centos8 ~]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)

(7)、修改slackware的默认shell为/bin/tcsh;
[root@centos8 ~]# usermod -s /bin/tcsh slackware
[root@centos8 ~]# getent passwd slackware
slackware:x:2002:2019::/home/slackware:/bin/tcsh

(8)、为用户slackware新增附加组admins,并设置不可登陆。
[root@centos8 ~]# groupadd admins; usermod -G admins slackware
[root@centos8 ~]# usermod -s /bin/nologin slackware; getent passwd slackware
usermod: no changes
slackware:x:2002:2019::/home/slackware:/bin/nologin

5、创建用户user1、user2、user3。在/data/下创建目录test
(1)、目录/data/test属主、属组为user1
[root@centos8 ~]# chown -R user1:user1 /date/test/
[root@centos8 ~]# ls -ld /date/test/
drwxr-xr-x 2 user1 user1 6 Dec3 13:44 /date/test/

(2)、在目录属主、属组不变的情况下,user2对文件有读写权限
[root@centos8 ~]# setfacl -m u:user2:6 /date/test
[root@centos8 ~]# getfacl /date/test/
getfacl: Removing leading / from absolute path names
# file: date/test/
# owner: user1
# group: user1
user::---
user:user2:rw-
group::---
mask::rw-
other::--x

(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件、除了user1及root之外,所有用户都不可删除a3.sh, a4.sh
[root@centos8 ~]# su user1
[user1@centos8 root]$ touch /date/test/a{1..4}.sh
[user1@centos8 root]$ ls -ld /date/test/a{1..4}.sh
-rw-rw-r-- 1 user1 user1 0 Dec3 14:04 /date/test/a1.sh
-rw-rw-r-- 1 user1 user1 0 Dec3 14:04 /date/test/a2.sh
-rw-rw-r-- 1 user1 user1 0 Dec3 14:04 /date/test/a3.sh
-rw-rw-r-- 1 user1 user1 0 Dec3 14:04 /date/test/a4.sh
[root@centos8 ~]# chattr +i /date/test/a{1..2}.sh
[root@centos8 ~]# lsattr /date/test/a1.sh
----i--------------- /date/test/a1.sh
[root@centos8 ~]# rm -rf /date/test/a1.sh
rm: cannot remove /date/test/a1.sh: Operation not permitted
[root@centos8 ~]# rm -rf /date/test/a2.sh
rm: cannot remove /date/test/a2.sh: Operation not permitted
[root@centos8 ~]# ls /date/test/
a1.sha2.sha3.sha4.sh
[root@centos8 ~]# su user3
[user3@centos8 test]$ rm -rf /date/test/a3.sh
rm: cannot remove a3.sh: Permission denied
[root@centos8 ~]# su user1
[user1@centos8 root]$ rm -rf /date/test/a3.sh
[user1@centos8 root]$ ls /date/test/
a1.sha2.sha4.sh

(4)、user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件
[root@centos8 ~]# usermod -G user1 user3
[root@centos8 ~]# id user3
uid=2005(user3) gid=2005(user3) groups=2005(user3),2003(user1)
[root@centos8 ~]# setfacl -m g:user1:0 /date/test/
[root@centos8 ~]# getfacl /date/test/
getfacl: Removing leading / from absolute path names
# file: date/test/
# owner: user1
# group: user1
user::rwx
group::r-x
group:user1:---
mask::r-x
other::r-x

(5)、清理/data/test目录及其下所有文件的acl权限
[root@centos8 ~]# setfacl -b /date/test/
[root@centos8 ~]# getfacl/date/test/
getfacl: Removing leading / from absolute path names
# file: date/test/
# owner: user1
# group: user1
user::rwx
group::r-x
other::r-x


    推荐阅读