一、显示/etc/目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
ls /etc/[^[:alpha:]][[:alpha:]]*
二、复制/etc/目录下所有以p开头的,以非数字结尾的文件或目录到/tmp/mytest1目录中
mkdir /tmp/mytest1
cp -a /etc/p*[^[:digit:]] /tmp/mytest1
三、将/etc/issue文件中的内容转换为大写后保存至/etc/issue.out文件中
tr 'a-z' 'A-Z' < /etc/issue
[root@centos7 ~]# tr 'a-z' 'A-Z' < /etc/issue \S KERNEL \R ON AN \M
四、请总结描述用户和组管理类命令的使用方向并完成以下练习
1、用户管理命令
(1)、useradd:用户创建
useradd [options] LOGIN
选项:
-u UID:指定UID,UID的最小值与最大值定义在 /etc/login.defs
-o:配合-u选项,不检查UID的唯一性
-g GID:指明用户所属的基本组,可为组名,也可为GID;如没有指定,则使用与用户名相同的组名
-c "COMMNET":用户的注释信息
-d HOME_DIR:指定用户的家目录;家目录的初始内容在 /etc/skel/ 下
-D:表示修改用户的默认选项;(修改的是 /etc/default/useradd 中的选项),如useradd -D,useradd -D -s SHELL,useradd -D -b BASE_DIR
-s SHELL:指明用户的默认shell程序,可用的shell列表在 /etc/shells
-G GROUP1,GROUP2:指明用户的附加组,可以有多个,用逗号隔开,组必须事先存在
-N:不创建私用组做主组,使用users组做主组
-r:创建系统用户,CentOS6:ID<500,CentOS7:ID<1000
-m:创建家目录,用于系统用户
-M:不创建家目录,用于非系统用户
(2)、usermod:用户属性修改
usermod [options] LOGIN
选项:
-u UID:新UID
-g GID:新主组
-G GROUP1,GROUP2,...:新附加组,原来的附加组将会被覆盖,若保留原有,则要同时使用 -a 选项,表示追加
-s SHELL:新的默认SHELL
-c "COMMENT":新的注释信息
-d HOME:新家目录,原家目录中的文件不会移动至新的家目录,如要移动,则同时使用 -m 选项
-l login_name:新的名字
-L:锁定用户,在 /etc/shadow 的密码栏增加!
-U:解锁用户,将 /etc/shadow 密码栏的!去掉
-e YYYY-MM-DD:指定用户账号的过期日期
-f INACTIVE:设定非活动期限(密码过期后的宽限天数)
(3)、userdel:删除用户
userdel [options] LOGIN
选项:
-r:删除用户家目录
(4)、id:查看用户相关ID信息
id [options]... [user]
选项:
-u:显示UID
-g:显示GID
-G:显示用户所属的组的ID
-n:显示名称,需配合ugG使用
(5)、su:切换用户
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
(6)、passwd:修改指定用户的密码
passwd [options] UserName
选项:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码(使密码过期)
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactive-days:非活动期限
--stdin:从标准输入接收用户密码,如echo "PASSWORD"|passwd --stdin USERNAME
(7)、chage:修改用户密码属性
chage [options] LOGIN
选项:
-m:修改密码最小使用期限
-M:修改密码最大使用期限
-d LAST_DAY:修改用户最近一次修改密码的时间
-I INACTIVE:修改用户的非活动期限
-E EXPIRE_DATE:修改用户密码的过期日期
-W WARN_DAYS:修改用户密码的警告天数
-l 显示密码策略
示例:
chage -d 0 tom 下一次登录强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
2、组管理命令
(1)、groupadd:创建组
groupadd [options] group
选项:
-g GID:指明GID
-r:创建系统组
-n:组改名
(2)、groupmod:组属性修改
groupmod [options] group
选项:
-g GID:新的GID
-n group_name:组改名
(3)、groupdel:组删除
groupdel GROUP
(4)、gpasswd:更改组密码
gpasswd [option] GROUP
选项:
-a user:将user添加至指定组中
-d user:从指定组中移除用户user
-A user1,user2,...:设置有组管理权限的用户列表
(5)、newgrp:临时切换主组
如果用户本不属于此组,则需要组密码
练习:
(1)、创建组distro,其GID为2019;
groupadd -g 2019 distro
[root@centos7 ~]# groupadd -g 2019 distro [root@centos7 ~]# tail -n 1 /etc/group distro:x:2019:
(2)、创建用户mandriva,其ID号为1005;基本组为distro;
useradd -u 1005 -g distro mandriva
[root@centos7 ~]# useradd -u 1005 -g distro mandriva [root@centos7 ~]# id mandriva uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
useradd -u 1100 -d /home/linux mageia
[root@centos7 ~]# useradd -u 1100 -d /home/linux mageia [root@centos7 ~]# id mageia uid=1100(mageia) gid=1100(mageia) groups=1100(mageia) [root@centos7 ~]# ll -d /home/linux/ drwx------ 3 mageia mageia 78 Nov 11 18:49 /home/linux/
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期;
echo "mageedu" | passwd --stdin mageia
passwd -x 7 mageia
[root@centos7 ~]# echo "mageedu" | passwd --stdin mageia Changing password for user mageia. passwd: all authentication tokens updated successfully. [root@centos7 ~]# passwd -x 7 mageia Adjusting aging data for user mageia. passwd: Success [root@centos7 ~]# chage -l mageia Last password change : Nov 11, 2019 Password expires : Nov 18, 2019 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 7 Number of days of warning before password expires : 7
(5)、删除mandriva,但保留其它目录;
userdel mandriva
[root@centos7 ~]# userdel mandriva [root@centos7 ~]# ll -d /home/mandriva/ drwx------ 3 1005 distro 78 Nov 11 18:48 /home/mandriva/
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组为peguin;
groupadd peguin
useradd -u 2002 -g distro -G peguin slackware
[root@centos7 ~]# groupadd peguin [root@centos7 ~]# useradd -u 2002 -g distro -G peguin slackware [root@centos7 ~]# id slackware uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)
(7)、修改用户slackware的默认shell为/bin/tcsh;
usermod -s /bin/tcsh
[root@centos7 ~]# tail -n 1 /etc/passwd slackware:x:2002:2019::/home/slackware:/bin/bash [root@centos7 ~]# usermod -s /bin/tcsh slackware [root@centos7 ~]# tail -n 1 /etc/passwd slackware:x:2002:2019::/home/slackware:/bin/tcsh
(8)、为用户slackware新增附加组admins;
groupadd admins
usermod -a -G admins slackware
[root@centos7 ~]# groupadd admins [root@centos7 ~]# usermod -a -G admins slackware #使用-G与-a选项表示追加 [root@centos7 ~]# id slackware uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins) [root@centos7 ~]# usermod -Ga admins slackware #此种写法不对 usermod: group 'a' does not exist [root@centos7 ~]# usermod -G -a admins slackware #此种写法也不对 usermod: group '-a' does not exist [root@centos7 ~]# gpasswd -d slackware admins #从组中删除用户 Removing user slackware from group admins [root@centos7 ~]# id slackware uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin) [root@centos7 ~]# usermod -G admins -a slackware #此种写法可以 [root@centos7 ~]# id slackware uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)