伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 教育考试 » 文章详细 订阅RssFeed

通配符、用户组管理与文件权限

来源:本站原创 浏览:92次 时间:2023-01-12
1、文件通配符

通配符(wildcard pattern)才用特定的符号,表示特定的含义,此符号称为元 meta 字符

1.1 常见的通配符
*            匹配零个或多个字符,但不匹配 '.' 开头的文件,即隐藏文件?           匹配任何单个字符~            当前用户家目录~grain       用户grain家目录~+和.        当前工作目录~-           前一个工作目录[0-9]        匹配数字范围[a-z]        小字母[A-Z]        大字母[grain]      匹配括号中的任何的一个字符[^grain]     匹配括号中的所有字符以外的字符
1.2 其他在linux系统中预定义的字符类
[:digit:]       任意数字,相当于0-9[:lower:]       任意小写字母,表示 a-z[:upper:]       任意大写字母,表示 A-Z[:alpha:]       任意大小写字母[:alpnum:]      任意数字或字母[:blank:]       水平空白字符[:space:]       水平或垂直空白字符[:print:]       可打印字符
1.3 通配符应用范例
  • 显示/data目录下以非字母开头,后面跟了一个字母及其他任意长度字符的文件或目录列表
[root@CentOS8 data]#ll -d  /data/[^[:alpha:]][[:alpha:]]*-rw-r--r--. 1 root root 0 Feb 22 19:16 /data/1abcT.txt-rw-r--r--. 1 root root 0 Feb 22 19:16 /data/2leey.log-rw-r--r--. 1 root root 0 Feb 22 19:16 /data/3g.credrwxr-xr-x. 2 root root 6 Feb 22 19:19 /data/4Gdrwxr-xr-x. 2 root root 6 Feb 22 19:23 /data/5gkpi
  • 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
[root@CentOS8 etc]#cp -r /etc/p*[^0-9] /tmp/mytest1[root@CentOS8 etc]#ls /tmp/mytest1/pam.d   passwd-  plymouth  popt.d   prelink.conf.d  profile    protocolspasswd  pki      pm        postfix  printcap        profile.d
  • 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
[root@CentOS8 data]#cat /etc/issue\SKernel \r on an \m[root@CentOS8 data]#tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue.out[root@CentOS8 data]#cat /tmp/issue.out \SKERNEL \R ON AN \M
2、 用户和组管理2.1 用户创建:useradd

格式:

useradd [options] NAME

常见选项:

-u          UID-o          配合-u,不检查UID的唯一性-g          GID 指明用户基本组,可为组名,也可以GID-c          用户注释信息-d          指定家目录路径-s          指明默认的shell-G          指明附加组,组要事先存在-r          创建系统用户,centos6之前 ID<500, centos7以后 ID<1000-m          创建家目录,用于系统用户-M          不创建家目录,用户非系统用户

范例:

[root@CentOS8 etc]#useradd -r -ou 666 -g apache -s /sbin/nologin -d /var/www -c "Apache" apache useradd: group 'apache' does not exist[root@CentOS8 etc]#groupadd apache[root@CentOS8 etc]#useradd -r -ou 666 -g apache -s /sbin/nologin -d /var/www -c "Apache" apache[root@CentOS8 etc]#
2.2 用户属性修改: usermod

格式

usermod [option] Name

常见选项:

-u          UID: 新UID-g          GID: 新主组-G          group1[,group2...]:新附加组,可多个,原来的附加组会被覆盖,要保留同时使用-a选项-s          shell:新的默认shell-c          新的注释信息-d          新的家目录,若要创建新家目录并移动原目录数据,同时使用-m选项-l          新的名字 login_name-L          密码栏加锁,!-U          解锁,去掉!-e          指明用户账户过期日期-f          设定宽限期
2.3 删除用户:userdel

常见选项:

-f          强制-r          删除用户家目录和邮箱
2.4 查看用户ID信息:id2.5 切换用户或以其他用户身份执行命令 : su

切换用户的方式:

  • su UserName:非登录式切换,即不读取用户配置文件,不改变当前工作目录,称为不完全切换
  • su - UserName:登录式切换,读取用户配置文件,切换到对应用户自己家目录,即完全切换。
2.6 设置密码 :passwd

常见选项:

-d          删除指定用户密码-l          锁定指定用户-u          解锁指定用户-e          强制用户下次登陆修改密码-f          强制操作-n          指定最短使用期限-x          最大使用期限-w          提前多少天开始警告-i          指定宽限期--stdin     从标准输入接受用户密码
2.7 创建组 :groupadd

格式

grouadd [option]...groupname

常见选项:

-g          指明GID-r          创建系统组Exp : groupadd -g 666 -r apache
2.8 修改组:groupmod2.9 删除组:groupdel2.10 更改组密码: gpasswd

gpasswd命令,可以更改组密码,也可以修改附加组成员关系

常见选项:

-a          将user添加至指定组中-d          从指定组中移除用户user-A user1,user2,...  设置有管理员权限的用户列表
2.11 更改和查看组成员:groupmems

groupmems 可以管理附加组的成员关系

常见选项:

-g          更改为指定组,只有root可以操作-a          指定用户加入组-d          从组中删除用户-p          从组中清除所有成员-l          显示组成员列表

groups 可查看用户组关系

2.12 用户和组管理实例2.12.1 创建组distro,其GID为2019
[root@CentOS8 data]#groupadd -g 2019 distro
2.12.2 创建用户mandriva,其ID号为1005,基本组为distro
[root@CentOS8 data]#useradd -u 1005 -g distro mandrivauseradd: UID 1005 is not unique             # 提示 UID 1005不是唯一的[root@CentOS8 data]#useradd -ou 1005 -g distro mandriva[root@CentOS8 data]#id mandrivauid=1005(mandriva) gid=2019(distro) groups=2019(distro)
2.12.3 创建用户mageia,其ID为1100,家目录为/home/linux
[root@CentOS8 data]#useradd -u 1100 -d /home/linux mageia[root@CentOS8 data]#id mageiauid=1100(mageia) gid=1100(mageia) groups=1100(mageia)[root@CentOS8 data]#tree /home/home├── lee├── linux
2.12.4 给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
[root@CentOS8 data]#echo "mageedu" | passwd --stdin mageiaChanging password for user mageia.passwd: all authentication tokens updated successfully.[root@CentOS8 data]#passwd -x 7 mageiaAdjusting aging data for user mageia.passwd: Success[root@CentOS8 data]#getent shadow | grep mageiamageia:$6$FW0xrns/UKahsCit$.uQXxR01mm3IxvtsOCUjjatVc6HGHF65Xs6Js5NItZdblel0Btx.LMbXLC9T3l9xqbJwe6mFk7jfNmNQGEI9j0:18680:0:7:7:::
2.12.5 删除用户mandriva,但保留其家目录
[root@CentOS8 data]#userdel mandriva[root@CentOS8 data]#ls /home/linux  mandriva         # 用户mandriva家目录仍存在
2.12.6 创建用户slackware,其ID为2002,基本组为distro,附加组为peguin
[root@CentOS8 data]#groupadd peguin[root@CentOS8 data]#useradd -u 2002 -g 2019 -G peguin slackware[root@CentOS8 data]#id slackwareuid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)[root@CentOS8 data]#
2.12.7 修改slackware的默认shell为/bin/tcsh
[root@CentOS8 data]#usermod -s /bin/tcsh slackware[root@CentOS8 data]#getent passwd | grep slackwareslackware:x:2002:2019::/home/slackware:/bin/tcsh[root@CentOS8 data]#
2.12.8 为用户slackware新增附加组admins,并设置不可登陆
[root@CentOS8 data]#groupadd admins[root@CentOS8 data]#usermod -aG admins -L slackware[root@CentOS8 data]#id slackwareuid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)[root@CentOS8 data]#cat /etc/shadow | grep slackwareslackware:!!:18680:0:99999:7:::
3、文件权限管理3.1 设置文件的所有者 chown

chown命令可以修改文件的属主,也可以修改文件属组

格式

 chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE...

用法说明:

OWNER           #只修改所有者OWNER:GROUP      #同时修改所有者和属组:GROUP          #只修改属组,冒号可以用 . 替换-R              #递归--reference=RFILE   #参考指定的属性来修改
3.2 修改文件权限 chmod

格式

chmod [OPTION]... MODE[,MODE]... FILE...chmod [OPTION]... OCTAL-MODE FILE...chmod [OPTION]... --reference=RFILE FILE...

说明:

MODE: who opt permissionwho: u,g,o,aopt: +,-,=per: r,w,x修改指定一类用户的所有权限u=  g=   o=  ug=  a=  u=,g=修改指定一类用户某个或某个权限u+  u-  g+  g-  o+  o-  a+  a--R: 递归修改权限
3.3 文件特殊属性 chattr

设置文件特殊属性,可以防止 root 用户误操作或修改文件

不能删除,改名,更改

chattr +i

只能追加内容,不能删除,改名

chattr +a

显示特殊属性

lsattr
3.4 ACL访问控制列表

Centos7 默认创建的xfs和ext4文件系统具有ACL功能

Centos7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加

tune2fs -o acl /dev/sdb1mount -o acl /dev/sdb1 /mnt/test

ACL生效顺序:

所有者,自定义用户,所属组|自定义组,其他人

ACL相关命令:

setfacl 可以设置ACL权限getfacl 可以查看设置的ACL权限
3.5 特殊权限Sticky

具有写权限的目录通常用户可以删除改目录中的任何文件,无论该文件的权限或拥有权

在目录设置Sticky位,只有文件的所有者或root可以删除该文件

sticky设置在文件上无意义

Sticky权限设定

chmod o+t DIR...chmod o-t Dir...chmod 1xxx DIr...
3.6 文件权限实例

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

  • 目录/data/test属主、属组为user1
[root@CentOS8 data]#NAME=user;for i in {1..3};do useradd $NAME$i;done[root@CentOS8 data]#mkdir -pv /data/testmkdir: created directory '/data/test'[root@CentOS8 data]#chown user1.user1 /data/test
  • 在目录属主、属组不变的情况下,user2对文件有读写权限
[root@CentOS8 data]#setfacl -m u:user2:rw /data/test[root@CentOS8 data]#getfacl /data/test/getfacl: Removing leading '/' from absolute path names# file: data/test/# owner: user1# group: user1user::rwxuser:user2:rw-group::r-xmask::rwxother::r-x
  • user1在/data/test目录下创建a1.sh,a2.sh,a3.sh,a4.sh,设置所有用户都不能删除a1.sh,a2.sh文件、除了user1及root外,所有用户都不可删除a3.sh,a4.sh。
[root@CentOS8 data]#touch /data/test/a{1..4}.sh[root@CentOS8 data]#chattr +i /data/test/a1.sh /data/test/a2.sh[root@CentOS8 data]#chmod o+x /data/test/a3.sh /data/test/a4.sh[root@CentOS8 data]#chmod o+t /data/test/a3.sh /data/test/a4.sh
  • user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件
[root@CentOS8 data]#usermod -aG user1 user3[root@CentOS8 data]#setfacl -m u:user1:- /data/test[root@CentOS8 data]#getfacl /data/test/getfacl: Removing leading '/' from absolute path names# file: data/test/# owner: user1# group: user1user::rwxuser:user1:---user:user2:rw-group::r-xmask::rwxother::r-x
  • 清理/data/test目录及其下所有文件的acl权限
[root@CentOS8 data]#setfacl -R -b /data/test

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net