1、列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示一次即可。
who | cut -d" " -f1 | sort | uniq
2、取出最后登录到当前系统的用户的相关信息
finger `who | tail -1 | cut -d" " -f1` id `who | tail -1 | cut -d" " -f1`
3、取出当前系统被用户当作其默认shell的最多的那个shell
cut -d ":" -f7 /etc/passwd | sort | uniq -c | sort -n | tail -1
4、将/etc/passwd/中的第三字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中。
sort -t":" -k3 -n /etc/passwd |tail -10 | tr [a-z] [A-Z] >> /tmp/maxuser.txt
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
ifconfig wlan0 | egrep -o "inet[^0-9]{1,}([0-9]{1,3}.)+" | cut -d":" -f2 ifconfig wlan0 | head -2 |tail -1 |cut -d":" -f2 | cut -d" " -f1
6、列出/etc目录下所有以.conf.结尾的文件,并将其名字转换为大写后保存至/tmp/etc.conf文件中
find /etc/ -name "*.conf" -exec basename {} \; | tr [a-z] [A-Z] > /tmp/etc.conf
7、显示/var目录下一级目录或文件的总个数
ls /var/ | wc -l (centos6) ls -d /var/ | wc -l (centos7)
8、取出/etc/group文件中第三个字段数值最小的10个组的名字
sort -t":" -k3 -n /etc/group | head -10 | cut -d":" -f1
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中
cat /etc/fstab /etc/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;
passwd 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 -a -G admins slackware
用户和组管理类命令
(一)、创建
useradd 建立用户帐号
-c<备注> 加上备注文字。备注文字会保存在passwd的备注栏位中。 -d<登入目录> 指定用户登入时的启始目录。 -D 变更预设值. -e<有效期限> 指定帐号的有效期限。 -f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。 -g<群组> 指定用户所属的群组。 -G<群组> 指定用户所属的附加群组。 -m 自动建立用户的登入目录。 -M 不要自动建立用户的登入目录。 -n 取消建立以用户名称为名的群组. -r 建立系统帐号。 -s<shell> 指定用户登入后所使用的shell。 -u<uid> 指定用户ID。
groupadd 用于添加组账号
-f,--force 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与-g一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。 -g,--gid GID 这个值必须是唯一的,除非使用-o选项。但必须是非负的。默认值是使用大于或等于GID_MIN的最小值,并且大于每个其他组。 -K,--key KEY=VALUE 重写/etc/login.defs默认值(GID_MIN,GID_MAX和其他)。可以指定多个K选项。示例:-K GID_MIN=100 –KGID_MAX=499。注意:-K GID_MIN=10,GID_MAX=499不能工作。 -o,--non-unique 此选项允许添加一个非唯一的GID值。 -p,--password PASSWORD 为新组使用此加密过的密码。默认为禁用密码。注意:不推荐使用这个选项,因为密码(或加密过的密码)会被用户通过列出这个过程而看到。您应该确保密码符合系统的密码政策。 -r,--system 创建一个系统组。新的系统组数字标识符在SYS_GID_MIN到SYS_GID_MAX范围内选择,定义在login.defs中而不是GID_MIN到GID_MAX。 -R,--root CHROOT_DIR 将修改应用到CHROOT_DIR目录,并使用配置
(二)、修改
usermod 修改用户帐号的各项设定
-c<备注> 修改用户帐号的备注文字。 -d登入目录> 修改用户登入时的目录。 -e<有效期限> 修改帐号的有效期限。 -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。 -g<群组> 修改用户所属的群组。 -G<群组> 修改用户所属的附加群组。 -l<帐号名称> 修改用户帐号名称。 -L 锁定用户密码,使密码无效。 -s<shell> 修改用户登入后所使用的shell。 -u<uid> 修改用户ID。 -U 解除密码锁定
groupmod 更改群组识别码或名称。
-g <群组识别码> 设置欲使用的群组识别码。 -o 重复使用群组识别码。 -n <新群组名称> 设置欲使用的群组名称
(三)、删除
userdel 删除用户帐号
-r 删除用户登入目录以及目录中所有文件
groupdel 删除群组
groupdel 群组名称
(四)、密码
passwd 更改使用者的密码
-d 删除密码 -f 强制执行 -k 更新只能发送在过期之后 -l 停止账号使用 -S 显示密码信息 -u 启用已被停止的账户 -x 设置密码的有效期 -g 修改群组密码 -i 过期后停止用户账号
gpasswd 更改群组的密码
-a:添加用户到组 -d:从组删除用户 -A:指定管理员 -M:指定组成员和-A的用途差不多 -r:删除密码 -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
chage 修改密码有效期
-m +天数 表示密码可更改的最小天数。 -M +天数 表示密码有效(可更改)的最大天数 -E +日期 表示在该日期之后密码失效。 如chage -E 2017-1-20 zhangsan -l(小写L) +用户名 可以查看用户的当前设置信息
(五)、切换
su 变更为其他使用者的身份
su 用户名 临时切换用户 su - 用户名 模拟重新登录切换用户
newgrp 切换基本组
newgrp GROUPNAME 临时切换基本组 newgrp – GROUPNAME 模拟重新登录切换基本组
(六)、查看
id 显示用户真实和有效id信息
finger 用户信息
(七)、其他
chsh 修改shell
chfn 修改finger信息
whoami 当前登录信息
转载于:https://blog.51cto.com/7104785/2310919