用户管理&通配符
1.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
ls /etc/[^[:alpha:]][[:alpha:]]*
2.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1
cp -r /etc/p*[^[:digit:]] /tmp/mytest1
3.将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
tr [:lower:] [:upper:] <issue > /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天后过期
echo "mageedu" | passwd --stdin mageia
方法1:
chage -M 7 mageia
方法2:
passwd -x 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;
方法1:
chsh -s /bin/tcsh slackware
方法2:
usermod -s /bin/bash slackware
(8)为用户slackware新增附加组admins;
groupadd admins
方法1:
groupmems -a slackware -g admins
方法2:
gpasswd -a slackware admins
方法3:
usermod -G admins slackware
useradd
选项 | 作用 |
---|---|
-u | 指定uid |
-o | 配合-u选项,不检查UID的唯一性 |
-g | 指明用户所属的基本组,可为组名,要可以为GID |
-d | 以指定的路径(不存在)为家目录 |
-s | 指明用户的默认shell,程序,可用列表在/etc/shells文件中 |
-G | 为用户指定附加组,组须实现存在 |
-N | 不创建私用组用主组,使用users做主组 |
-r | 创建系统用户 |
-m | 创建家目录,用于系统用户 |
-M | 不创建家目录,用户非系统用户 |
-D | 显示或更改默认设置 |
usermod
选项 | 作用 |
---|---|
-u | 指定新UID |
-g | 指定新主组 |
-d | 新家目录不会自动创建;若要创建新家目录并移动原家目录数据,同时使用-m选项 |
-s | 指定新的默认shell |
-G | 新附加组,原来的附加组将会被覆盖;若要保留原有附加组,需要同时使用-a选项 |
-l | 指定新的名字 |
-L | lock指定用户,在/etc/shadow密码栏上增加! |
-U | unlock指定用户,将/etc/shadow密码栏上的!去掉 |
-e YYYY-MM-DD | 指明用户账号过期日期 |
-f INACTIVE | 指定非活动期限 |
userdel
选项 | 作用 |
---|---|
-r | 删除用户家目录 |
groupmod
选项 | 作用 |
---|---|
-n group_name | 指定新的名字 |
-g GID | 指定新主组 |
groupadd
选项 | 作用 | 示例 |
---|---|---|
-n | 指定新的名字 | -n group_name |
-g | 指定新主组 | -g GID |
gpasswd
选项 | 作用 | 示例 |
---|---|---|
-a user | 将user添加至指定组中 | gpasswd -a solar g1 |
-d user | 从指定组中移除用户user | gpasswd -d solar g1 |
groupmems
选项 | 作用 | 示例 |
---|---|---|
-a,–add username | 指定用于加入组 | groupmems -a solar -g g1 |
-d,–delete username | 从组中删除用户 | groupmems -d solar -g g1 |
-p,–purge | 从组中清除所有成员 | groupmems -p -g g1 |
-l,–list | 显示组成员列表 | groupmems -l -g g |
getent
示例 | 作用 |
---|---|
getent passwd | 查看/etc/passwd文件 |
getent group solar root ftp | 查看/etc/group文件中solar、root及ftp条目 |
id
选项 | 作用 |
---|---|
-u | 显示UID |
-g | 显示GID |
-n | 显示名称,需要配合ugG使用 |
-G | 显示用户所属的组的ID |
passwd
选项 | 作用 |
---|---|
-d | 删除指定用户密码 |
-l | 锁定指定用户 |
-u | 解除指定用户 |
-e | 强制用户下次登录修改密码 |
-f | 强制操作 |
-n mindays | 指定最短使用期限 |
-x maxdays | 最大使用期限 |
-w warndays | 提前多少天开始告警 |
-i inactivedays | 非活动期限 |
–stdin | 从标准输入接受用户密码 |
chage
选项 | 作用 |
---|---|
-d LAST_DAY | 最后使用时间 |
-E --expiredate EXPIRE_DATE | 过期时间 |
-I --inactive INACTIVE | 非活动期限 |
-m --mindays MIN_DAYS | 指定最短使用期限 |
-M --maxdays MAX_DAYS | 最大使用期限 |
-W --warndays WARN_DAYS | 提前多少天开始告警 |
-l | 显示密码策略 |
chsh
选项 | 作用 | 语法 |
---|---|---|
-s | 指定用户使用的shell | chsh -s /bin/bash sunny |
chown
选项 | 作用 |
---|---|
OWNER | 修改属主 |
OWNER:GROUP | 同时修改属主和属组 |
:GROUP | 修改属主 |
-R | 递归修改 |
–reference=RFILE FILE… | 参考RFILE文件的权限,将FILE的修改为同RFILE |
chgrp
选项 | 作用 |
---|---|
-R | 递归修改 |
–reference=RFILE FILE… | 参考RFILE文件的权限,将FILE的修改为同RFILE |
chmod
选项 | 作用 |
---|---|
-R | 递归修改 |
–reference=RFILE FILE… | 参考RFILE文件的权限,将FILE的修改为同RFILE |
u+s | 增加SGID权限 |
g+s | 增加SGID权限 |
o+t | 增加粘滞位 |
+r | 增加读权限 |
+w | 增加写权限 |
+x | 增加执行权限 |
chattr
选项 | 作用 |
---|---|
+i | 不能删除,改名,更改 |
+a | 只能追加内容 |
lsattr
示例 | 作用 |
---|---|
lsattr file | 显示特定属性 |
setfacl
选项 | 作用 |
---|---|
-m u:solar:rwx file | directory |
setfacl -Rm g:sales:rwX directory | 递归给目录及目录下所有文件设置组ACL。X代表只针对文件夹设置 |
setfacl -M file.acl file | direcory |
setfacl -m d:u:solar:rw directory | 设置默认的ACL,文件夹中新建的文件默认带这个权限 |
-x u:solar file | direcory |
-X file.acl directory | 从file中读取要删除的ACL |
-bR directory | 清除目录上所有的acl |