Liunx入门挑战(三)

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

答:

ls -a /etc/ | grep -E ^[^[:alpha:]][[:alpha:]]*

题目:复制以p或者P开头,以非数字结尾的文件或目录到/tmp/mytest1

答:

#创建文件夹
mkdir /tmp/mytest1

#拷贝文件
cp -r  /etc/[pP]*[^[:digit:]] /tmp/mytest1

也可以写成如下格式
mkdir /tmp/mytest1; cp -r  /etc/[pP]*[^[:digit:]] /tmp/mytest1

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

答:

root@CentOS7[16:17:51]:# cat /etc/issue | tr [a-z] [A-Z] >/tmp/issue.out

root@CentOS7[16:18:06]:# cat /tmp/issue.out 
\S
KERNEL \R ON AN \M

用户和组管理类命令总结

groupadd命令:创建组

groupadd [ 选项 ] group_name
选项:   -g GID:自定义GID:默认是上一个组的GID+1   -r:创建系统组

groupmod命令:修改组属性

groupmod [ 选项 ] group
选项:
    -g GID:修改GID
    -n new_name:修改组名

groupdel命令:删除组

groupdel groupname

useradd命令:创建用户

useradd [ 选项 ] 登录名
选项:
    -u,--uid UID:指定UID号
    -g,--gid GROUP:指定基本组ID,此组必须事先存在
    -G,--groups GROUP1,GOURP2 指明用户所属 的附加组,多个组之间用逗号隔开
    -c,--comment COMMENT:指明注释信息
    -d,--home 家目录绝对路径:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现:指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
    -s,--shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中
    -r,--system:创建系统用户
 
注意:创建用户是的诸多默认设定配置文件为/etc/login.defs
 
useradd -D:显示创建用户的默认配置
useradd -D 选项: 修改默认选项的值
 
    修改的结果保存于/etc/default/useradd文件中,也可以直接修改此文件使其生效

usermod命令:修改用户属性

usermod [ 选项 ] 登录名
选项:
  -u,--uid UID:修改用户UID号
  -g,--gid GROUP:修改用户所属的基本组ID,此组必须事先存在
  -G,--groups GROUP1,GOURP2 修改用户所属的附加组,原来的附加组会被覆盖
  -a,--append:与-G一同使用,用于为用户追加新的附加组
  -c,--comment COMMENT:修改注释信息
  -d,--home 家目录绝对路径:修改用户的家目录,用户原有的文件不会被转移至新:
  -m,--move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
  -l,--login NEW_LOGIN:修改用户名
  -s,--shell SHELL:修改用户的默认shell
  -r,--system:创建系统用户
  -L,--lock:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”
  -U,--unlock:解锁用户的密码

userdel命令:删除用户

userdel [ 选项 ] 登录名
选项:
  -r:删除用户时一并删除其家目录
  -f:强制删除用户(用户正在登陆时依旧可以正常操作,logout后无法再登录)

passwd命令:修改用户密码

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
  (1)passwd:修改用户自己的密码
  (2)passwd USERNAME:修改指定用户的密码。但仅限root有此权限
 选项:
  -l,-u:锁定和解锁用户
  -d:清除用户密码
  -e,DATE:过期期限,日期
  -i,DAYS:非活动期限,密码过期时还能活动几天
  -n,DAYS:密码的最短使用期限
  -x,DAYS:密码的最长使用期限
  -w,DAYS:警告期限
 
--stdin:
  一条命令修改密码:echo "xxxx" | passwd --stdin username

gpasswd命令:给组添加密码

组密码文件:/etc/gshadow
gpasswd [ 选项 ] group
选项:
  -a USERNAME:向组中添加用户
  -d USERNAME:从组中移除用户 

chage命令:更改用户密码过期信息

chage [ 选项 ] 登录名
选项:
  -d DATE:密码最后一次修改曰期(/etc/shadow 文件的第三个字段)
  -E DATE:账号失效时间(第八个字段)
  -W DAYS:密码修改到期前的警告天数(第六个字段)
  -m DAYS:密码的两次修改间隔时间(第四个字段)
  -M DAYS:密码的有效期(第五个字段)

id命令:显示用户的真实有效ID

id [ 选项 ] ... [USER]
选项:
  -u:仅显示有效的UID
  -g:仅显示用户的基本组ID
  -G:仅显示用户所属的所有组的ID
  -n:显示名字而非ID

su命令:完成用户切换

两种切换方式:
  (1)登录式切换:会通过重新读取用户的配置文件来重新初始化
    su - USERNAME
    su -l USERNAME
  (2)非登录式切换:不会读取目标用户的配置文件进行初始化
    su USERNAME

注意:管理员可无密码切换至其他任何用户,非管理员切换用户必须输入需要切换的用户的密码
-c 'COMMAND':仅以指定用户的身份运行此处指定的命令

 用户和组管理类命令练习

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 mageia -u 1100 -d /home/linux

4、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
        echo mageedu | passwd -x 7 --stdin 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;
        chsh -s /bin/tcsh slackware

8、为用户slackware新增附加组admins
        groupadd admins
        usermod -G admins slackware    

 

 

posted @ 2019-12-10 11:29  Lyvin.zhang  阅读(24)  评论(0编辑  收藏  举报