D2-linux-文件管理+User
快捷键
ll aa //查看一个文件
stat aa //查看文件详细信息
ls -R /practicr/a //会把每一个目录都展开进行查看
一、文件基本管理器
Linux目录结构
相对路径:相对于当前目录开始 cd ..
绝对路径:从开头的路径 /home ~/alice
cd - //返回目录刚刚所在的目录back
cd .. //回到上一级目录
cd path //转到指定目录
ls通配符相关指令
ls /tmp/a* //查看当前路径下所有关于a的文件.
ls /etc/a*.conf //查看当前路径下所有 .conf的文件.
执行代码:
1.文件创建:touch
touch ../../etc/aa //在当前路径下创建文件
touch file{1..20} //创建file1~fiel20
touch file{1..20} .c //创建file1.c~fiel20.c
touch file{1..20} .c //创建file1.c~fiel20.c
touch -- -a //(--表示选项到此为止) 创建-a
touch ./-a //也可以建立-a文件
执行代码:(注:…代表回到上一级 “…/…/表示从家目录回到根目录”)
2.目录创建:mkdir
(1)、v :可视化
mkdir -v /home/xiaolei/practice/a
(2)、-p:创建目录的时候没有父目录则创建父目录
mkdir -p a/b/c/d
(3)、
mkdir /home/xiaolei/practice/aa/a{1..10} //创建a1~a10目录
mkdir /home/xiaolei/practice/aa/{file1,file2} //创建file1,file2文件夹目录
3.复制:cp 文件和目录
Usage: cp [OPTION]… [-T] SOURCE DEST
参数:
-r 递归 表示递归 从叶子节点开始(可删除非空目录)
-f 强行
-i 覆盖提示
-v 详细显示
(1)复制文件:cp -r xiaolei* ../01 复制所有xiaolei的文件到文件夹01中
(2)复制目录:cp -r
(3)复制一个文件到一个目录:cp xiaolei.c(文件) dir(目录)
(4)强制覆盖:cp -f xiaolei.c(文件) dir(目录)
复制文件运行代码:
4.移动/改名:mv
Usage: mv SOURCE(资源) DEST
移动文件:
mv file* dir(目录) //将所有关于file的文件移动到dir目录中
移动目录:
mv 00(目录) 01(目录) //将目录00移动到目录01中
移动文件(目录)并改名:
mv xiaolei xiaoyue //将xiaolei 改成 xiaoyue
5.删除:rm rmdir
rmdir:只能删除空目录(不实用)
参数:
-r 递归
-f force强制
-v 详细过程
rm aa bb file //删除多个文件
rm ./-a ./-b //删除-a -b文件:
rm mydir/ -r -f //删除有文件的目录 -r 表示递归删除目录 -f表示强制
执行程序:
二、用户管理
需要掌握指令: useradd userdel groupadd groupdel passwd
神级用户:root
切换用户:su - xiaoyue
退出当前用户:exit
passwd
用户名:x:uid:gid:描述:HOME:shell
1.用户名(不能相同)
2.口令位
3.uid(不同用户可以使用相同的uid)
4.gid(默认组是随用户创建的,并且组里只用这个用户自己)
5.描述信息(默认为空)
6.用户的家目录位置(默认在/home/用户名)
7.登陆shell(默认/bin/bash)
group
/etc/shadow
oot: $ 1 $ MYG2NDG6 $ a1wtyr5GDM2esAPjug0YP0 :15636:0:99999:7:::
1.用户名
2.密码($加密算法$杂字串$密文)查看算法 man crypt
3.上次修改时间
4.最小间隔
5.最大间隔
6.密码过期前警告时间(默认是7天,在这期间可使用就旧密码)
7.缓冲时间(密码过期后预留给账户修改密码的时间)
8.失效时间
9.保留列
usermod用法
用法:usermod [选项] 登录
选项:
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户
-h, --help 显示此帮助信息并推出
-l, --login LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-v, --add-subuids FIRST-LAST add range of subordinate uids
-V, --del-subuids FIRST-LAST remove range of subordinate uids
-w, --add-subgids FIRST-LAST add range of subordinate gids
-W, --del-subgids FIRST-LAST remove range of subordinate gids
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射
1、创建用户:
方法一:
useradd
sudo useradd xxxx //建立时没有指定家目录
sudo useradd -m xiaoyue //建立时有指定家目录
sudo useradd -d /home //建立时指定家目录
创建用户事指定选项:
sudo useradd xiaolei -g hr //创建用户,指定主组,尽量不要指定主组,指定附加组
sudo useradd xiaoyue -G sale //创建用户,指定组附加组 sale为组
sudo useradd xiaoyue -s /sbin/nologin //创建用户并指定shell
sudo useradd xiaoyue -u 503 //创建用户xiaoyue,指定uid,上限65535
sudo useradd xiaoyue -e 2014-04-01 //指定过期时间
sudo useradd xiaolei -u 4000 -s /sbin/nologin //nologin是可执行文件 需要登录
方法二:
adduser xiaoyue //可直接产生家目录并创建新用户
退出用户: #exit
2、查看查看用户主目录权限:
ll /home/ //查看家目录下的所有用户
grep:查找在指定目录下
grep xiaolei /etc/passwd /etc/group /etc/shadow //查询有关xiaolei的信息
/etc/shadow //口令加密文件
root: $ 1 $ MYG2NDG6 $ a1wtyr5GDM2esAPjug0YP0 :15636:0:99999:7:::
1.用户名
2.密码($加密算法$杂字串$密文)查看算法 man crypt
3.上次修改时间
4.最小间隔
5.最大间隔
6.密码过期前警告时间(默认是7天,在这期间可使用就旧密码)
7.缓冲时间(密码过期后预留给账户修改密码的时间)
8.失效时间
9.保留列
修改家目录:(略)
3、删除用户:
方法一:
usedel
sudo userdel xiaoyue //删除用户xiaoyue,但不删除用户家目录和xiaoyue
sudo userdel -r user11 //删除用户及家目录
注意:如果删除了用户但是没有删除家目录执行以下指令
rm -r ../xiaoyue //要是没有删除家目录
方法二:
deluser
sudo deluser xiaoyue //删除adduser创建的用户
sudo deluser --remove-home xiaoyue //可直接删除xiaoyue以及家目录
4、用户组:
用户组一定要在创建新用户之前创建( 组 > 用户)
gruopadd lei //创建hr组
sudo groupadd lei -g 2000 //添加组lei,并指定gid 2000
grep lei /etc/group //查看所创建的用户组
sudo groupdel lei //删除组lei
创建用户,指定主组,尽量不要指定主组,指定附加组
sudo useradd xiaolei -g lei
实例运行代码:创建组时指定家目录指定主组
修改用户信息:
usermod -U username //解除锁定
usermod -L username //锁定用户
usermod -e 2013-02-11 xiaoyue //设置账号过期
usermod -s /sbin/nologin xiaoyue //修改用户shell
usermod -u 2000 xiaoyue //修改用户uid
修改家目录: 方法1:
usermod -d /tmp/jack jack
mv /home/jack/ /tmp/
方法2:
usermod -m -d /home/jack jack
修改用户组id:
先修改lei的组id号为2015 然后查看
5、组成员管理
gpasswd将用户添加到组或从组中删除,只针对已存在的用户
sudo gpasswd lei1 //设置组密码
sudo gpasswd -a xiaoyue lei1 //将某个用户加入到某个组
sudo gpasswd -M xiaoyue1,xiaoyue2,xiaoyue3 lei1 //将多个用户加入到lei1组
sudo gpasswd -d xiaoyue lei1 //删除用户xiaoyue从lei1组
运行代码:将xiaoyue用户加入到组lei1中
运行代码:删除用户xiaoyue从lei1组
6、设置密码
格式:passwd 用户名
passwd:(可直接在当前用户下进入更改密码)自己在改自己的密码时
sudo passwd xiaoyue
sudo passwd -l username //锁定用户
sudo passwd -u username //解除锁定
sudo passwd -d username //清除密码
sudo passwd -S username //查看用户状态
三、课后练习(答案略-先自己做)
1.写出系统用户数据库文件名称,解释其内每行的含义
2.创建账户 wing,使其用户 id 为 1006,组 id 为 1008,禁止其登录。
3.创建组 caiwu,把 wing 账户添加到 caiwu 组,设置 tom 为 caiwu 组的组长。
4.创建文件 a.txt,要求其所有者为 wing,所属组为 caiwu。wing 拥有读写执行权限,财务组只能查看,其他人没有任何权限。
5.设置 wing 账户密码有效期为 365 天,过期之前 10 天提示账户
6.创建一个用户:test,密码为:123456。使用 test 用户在 tty2(终端 2)登录,查看登录的目录,在宿主目录里创建文件 a ,b, c, d,和目录abc。并查找含有字符 a 的文件。
7.创建组 grp,创建用户 test1 属于该组。修改密码,并在 tty3 登录。
8.查看/etc/passwd,/etc/shadow,/etc/group,查看用户、密码、组是否创建成功。
9.把 test 帐号锁定,使其不能登陆系统。
10.删除组 grp
11.将 b 用户的密码设置为 uplooking,测试登陆,修改自己的密码:123.com
12.锁定 b 用户密码.
13.创建 uplooking 组,将 b,test 用户添加入 uplooking 组中,作为附加组。
14.手动添加一个用户 redhat 指定 uid 和 gid 为 666 ,密码为 Uplooking。家目录为/redhat,登录的 shell 为/bin/ksh.
15.添加用户 user1,user2,user3,user4.
16.为所有用户都设置密码为 ”redhat”.
17.指定 user1 的家目录为/home/u1
18.指定 user2 没有登录的 shell
19.创建 admin 组
20.指定 user3 的主组是 admin
21.指定 user4 的附加组是 admin
22.将 user1 组加入到 user2 的附加组中
23.修改 user3 的密码为”uplooking”
24.修改 haha 用户的环境变量 在用户退出登录时 显示 byebye!
25.给root 用的 命令和参数 userdel -r 起一个别名 userdelr 并使其生效 用改命令删除haha用户