~~
1;列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示 一次即可。
-
# who | cut -d" " -f 1 | sort -u
2;取出最后登录到当前系统的用户的相关信息
-
# id $(who | tail -1 |cut -d" " -f 1)
-
# last | head -1
3;取出当前系统上被用户当作其默认shell的最多的那个shell。
-
# cat /etc/passwd | cut -d":" -f 7 | sort | uniq -c | sort -n | tail -1
-
# cut -d":" -f 7 /etc/passwd | sort | uniq -c | sort -n | tail -1
4;将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmpmaxuser.txt文件中。
-
# sort -n -t: -k /etc/passwd | tail -10 | tr 'a-z' 'A-Z' > /tmpmaxuser.txt
5;取出当前主机的ip地址,提示:对ifconfig命令的结果进行切分。
-
# ifconfig | head -2 | tail -1 | cut -d " " -f 10
6;列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
-
# ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
7;显示/var目录下一级子目录或文件的总个数。
-
# ls /var | wc -l
8;取出/etc/group文件中第三个字段数值最小的10个组的名字。
-
# sort -n -t: -k 3 /etc/group | tail -10 | cut -d ":" -f 1
9;将/etc/fstab和/etc/issue文件的内容全并为同一内容后保存至/tmp/etc.test文件中。
-
# cat /etc/{fstab,issue} >> /tmp/etc.test
10;请总结描述用户和组管理类命令的使用方法并完成以下练习:
1> 创建组distro, 其GID为2016; # groupadd -g 2016 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; # echo mageedu | passwd --stdin mageia 5> 删除mandriva, 但保留其家目录; # userdel mandriva 6> 创建用户slackware, 其ID为2002,其本组为distro, 附加组peguin; # useradd -u 2002 -g distro -G peguin slackware 7> 修改slackware的默认shell为/bin/tcsh; # usermod -s /bin/tcsh slackware 8> 为用户slackware 新增附加组admins; # usermod -G admins slackware 9> 为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天; # passwd -x 180 -n 3 -w 3 slackware 10> 添加用户openstack, 其ID为3003,基本组为clouds, 附加组为peguin和nova; # useradd openstack -u 3003 -g clouds -G peguin,nova 11> 添加系统用户mysql,要求其shell为/sbin/nologin; # useradd mysql -s /sbin/nologin 12> 使用echo 命令,非交互式为openstack 添加密码; # echo "openstack" | passwd --stdin openstackp
命令详解
cut ,sort ,head ,tail ,uniq
cut
-
-d –delimiter=DELIM 指定分隔符
-
-f –fields=LIST 指定字段 + # 单个字段 + #,# 离散字段 + #-# 连续字段 ######sort
-
-n –mumeric-sort 按数字大小排序
-
-t –field-separator=SEP 指定分隔符
-
-k –key==KEYDEF 用于排序比较的字段
-
-f –ignore-case 忽略字符大小写
-
-u –unique 重复的行只保留一行; 重复行:连续且相同的行 ######head
-
-# 指定输出前行;默认输出10行 tail
-
-# 指定输出后行,默认输出10行
-
-f 实时显示指定文本末行
uniq 报告可移除重复的行
-
uniq [OPTION]… [INPUT [OUTPUT]]
-
-c –count 显示每行的重复次数
-
-u –unique 仅显示未曾重复过的行
-
-d –repeated 仅显示重复过的行
useradd ,usermod ,passwd
useradd
-
useradd -D 显示创建用户的默认配置
-
useradd -D [options] 修改默认选项的值
-
useradd [options] LOGIN
-
-g –gid 基本组
-
-G –groups 附加组
-
-p –password 设置密码
-
-r –system create a system account.创建系统用户
-
-u –uid UID号
-
-s –shell 用户登录shell
-
-d –home-dir 指定用户家目录路径
-
-m –create-home 创建家用户目录
-
-M –no-create-home 不创建家用户目录
-
-c –command 注释信息
usermod
-
-u –uid UID号
-
-g –gid 基本组
-
-G –groups 附加组
-
-a –append 与-G一起使用,用于为用户追加新的附加组
-
-c –command 修改注释信息
-
-d –home-dir 修改用户家目录;用户原来的文件不会被移除
-
-m –move-home 只能与-d一起使用,用于将原来的家目录移动至新目录
-
-l –login 修改用户名
-
-s –shell 修改用户的默认shell
-
-L –lock 锁定用户密码;即在用户原来的密码字符串之前添加一个"!"
-
-U –unlock 解锁用户密码
userdel
-
-r –remove-home 删除用户时并删除家目录
passwd
-
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
-
-l –lock 锁定用户
-
-u –unlock 解锁用户
-
-f –force
-
-e –exprie 用户下次登录时更改密码
-
-d –delete 删除用户密码
-
-n –ninmun DAYS 最小使用日期
-
-x –maximun DAYS 最大使用日期
-
-w –warning DAYS 警告日期
-
-i –inactive DAYS 失效日期
-
-S –status 显示用户密码状态
-
–stdin 非交互式管道设置密码
echo "abcdefg" | passwd --stdin root
原创文章,作者:c_c,如若转载,请注明出处:http://www.178linux.com/65645