3、标准I/O与管道、用户与用户组管理

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

ls /etc/ | grep -e '^[^[:alpha:]][[:alpha:]].*'

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

cp -a /etc/p*[^0-9] /tmp/mytest1
或者
cd /etc/;cp -a `ls /etc/ | grep -e '^p.*[^[:digit:]]$'` /tmp/mytest1

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

tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue.out
或者
cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out

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

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

groupadd -g 2019 distro

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

useradd -u 1005 -g distro mandriva 

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

useradd -u 1100 -d /home/linux mageia

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

usermod -p mageedu -f 7 mageia

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

userdel mandriva

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

groupadd peguin
useradd -u 2002 -g distro -G peguin slackware

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

usermod -s /bin/tcsh slackware

(8)、为用户slackware新增附加组admins;

groupadd admins
usermod -aG admins slackware

用户和组管理类命令的使用方法:

(1)文件操作命令:
  • vipw:使用vipw命令可以编辑/etc/passwd、/etc/shadow、/etc/group等文件。使用方式:vipw [参数]
    参数:

-p:编辑passwd信息,vipw默认带有此参数
-g:编辑group信息
-s:编辑shadow信息

  • vigr:vigr命令可以修改group、gshadow文件,使用vigr命令可以编辑/etc/group文件。使用方式:vigr [参数]
    参数:

-g:编辑group信息,默认带此参数
-p:编辑passwd信息
-s:编辑gshadow信息

  • pwck:使用pwck命令用来验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性。使用方式:pwck [参数] 文件
    参数:

-q:仅报告错误信息
-s:以用户id排序文件
-r:只读方式运行指令

  • grpck:使用grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行。
    使用方式:grpck [参数] 文件
(2)用户和组管理命令
  • useradd:创建用户,格式:useradd [参数] 用户名
    参数:

-u UID:指定创建用户的UID
-o:配合-u使用,不检查UID的唯一性
-g GID:指定用户所属主组
-c 注释:用户的注释信息
-d home_dir:指定用户的家目录地址
-s shell:指明用户的默认shell程序,可用列表在/etc/shells文件中
-G group1,[group2....]:为用户添加所属附加组,组需事先存在
-N:不创建与用户同名的私用组做主组
-r:创建系统用户CentOS6:ID<500,CentOS7:ID<1000
-m:创建家目录,一般用户系统用户
-M:不创建家目录,一般用于非系统用户

  • usermod:修改用户信息,格式:usermod [参数] 用户名
    参数:

-c,--comment 注释:修改用户的描述信息,即修改/etc/passwd文件中的第5个字段GECOS,也可使用专有命令chfn
-d,--home home_dir:修改用户家目录
-e,--expiredate:设置账号的有效期,即修改/etc/shadow文件第8个字段,格式要为YYYY-MM-DD
-f,--inactive INACTIVE:指定天数,即修改/etc/shadow文件第7个字段
-g,--gid GROUP:修改为指定主组
-G,--groups GROUPS:修改附属组
-a,--append:配合-G选项,增加附属组
-l,--login new_login:修改用户名
-L,--lock:锁定用户
-U,--unlock:解锁用户
-m,--move-home:配合-d选项,移动家目录数据到新的家目录
-o,--non-unique:允许使用重复的UID
-p,--password password:使用加密的密码
-s,--shell SHELL:修改使用新的shell类型,也可以使用专有命令chsh -s
-u,--uid UID:修改UID

  • passwd:passwd命令用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。直接运行passwd命令修改当前的用户密码,对其他用户的密码操作需要管理员权限。用法:passwd [参数] 用户名
    参数:

-d:删除密码
-l:锁定用户密码,无法被用户自行修改
-u:解开已锁定用户密码,允许用户自行修改
-e:密码立即过期,下次登陆强制修改密码
-k:保留即将过期的用户在期满后能仍能使用
-S:查询密码状态
-n:修改密码后多少天内不能修改,shadow文件的第4个内容
-x:修改密码的最长有效期天数,shadow文件的第5个内容
-w:修改密码过期前警告的天数,shadow文件第6个内容
-i:修改密码失效后还可以使用的宽限时间,shadow文件第7个内容
--stdin:使用管道时传入密码的方式,常用语shell脚本

  • chage:修改和查看用户的密码信息,用法:chage [参数] 用户名
    参数:

-d:修改shadow文件的第三个内容,格式为YYYY-MM-DD
-m:修改shadow文件的第四个内容,最早修改密码的天数
-M:修改shadow文件的第五个内容,最晚修改密码的天数
-W:修改shadow文件的第六个内容,密码失效前的提示天数
-I:修改shadow文件的第七个内容,密码失效后宽限的时间
-E:修改shadow文件的第八个内容,格式为YYYY-MM-DD

  • userdel:删除用户,使用-r选项可以将对应用户的家目录即邮箱文件一起删除
  • groupadd:创建用户组,格式:groupadd [参数] 用户组名称
    参数:

-f,--force:当组已经存在时,返回成功,使用此项将忽略-g选项
-g,--gid GID:指定创建组的GID
-K,--key KEY=value :使用指定值,覆盖/etc/login.defs的默认值
-o:允许使用已存在的GID创建新的组
-p,--password PASSWORD:指定组密码
-r:创建系统组

  • groupmod:修改组信息,用法:groupmod [参数] 组名
    参数:

-g,--gid GID:修改组的GID
-n,--new-name new_group:修改组名
-o,--non-unique:允许组的GID不唯一
-p,--password PASSWORD:设置组的加密密码

  • groupmems:管理指定组的成员,用法:groupmems [] action
    参数:

-g,--group groupname:指定要操作修改的组
-a,--add username:指定添加一个组的成员
-d,--delete username:指定删除一个组的成员
-l,--list:列出所有的组成员
-p,--purge:清空所有的用户

  • gpasswd:修改和设置组的密码,用法:gpasswd [参数] 组名
    参数:

-a,--add user:添加一个用户到该组中
-d,--delete user:将一个用户从该组中删除
-r,--delete-password:取消组的密码
-A,--administrators ADMIN,.....:设置组的管理员
-M,--members user,....:批量设置组的成员

  • groupdel:删除组
  • id:查看用户相关的ID信息,用法;id [参数] 用户名
    参数:

-u:显示UID
-g:显示GID
-G:显示用户所属的组的ID
-n:显示名称,需配合ugG使用

你可能感兴趣的:(3、标准I/O与管道、用户与用户组管理)