1.用户和用户组的查看
用户命令 :ll /usr/sbin/user*
1 2 3 4 useradd userdel usermod usernetctl
用户组命令 : ll /usr/sbin/group*
1 2 3 4 groupadd groupdel groupmod groupmems
1 2 3 4 5 6 7 8 9 10 11 12 [root@localhost sbin]# ll /usr/sbin/user* -rwxr-x---. 1 root root 118232 Oct 31 2018 /usr/sbin/useradd -rwxr-x---. 1 root root 80400 Oct 31 2018 /usr/sbin/userdel -rwxr-x---. 1 root root 113856 Oct 31 2018 /usr/sbin/usermod -rwsr-xr-x. 1 root root 11376 Oct 31 2018 /usr/sbin/usernetctl [root@localhost sbin]# ll /usr/sbin/group* -rwxr-x---. 1 root root 65520 Oct 31 2018 /usr/sbin/groupadd -rwxr-x---. 1 root root 57080 Oct 31 2018 /usr/sbin/groupdel -rwxr-x---. 1 root root 57120 Oct 31 2018 /usr/sbin/groupmems -rwxr-x---. 1 root root 76432 Oct 31 2018 /usr/sbin/groupmod [root@localhost sbin]#
2.添加用户:useradd hadoop
1 2 3 4 5 6 7 8 [root@localhost sbin] [root@localhost sbin] root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 。。。。。。。 hadoop:x:1000:1000::/home/hadoop:/bin/bash
刚添加的hadoop的用户的uid
1 2 3 4 5 6 7 8 9 [root@localhost sbin] root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: 。。。。。 hadoop:x:1000:
1 2 3 4 [root@localhost sbin] uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop) 用户id 用户主组id 用户组id [root@localhost sbin]
创建一个用户,默认会创建该用户的同名用户组,且设置这个用户的主组,并且创建/home/hadoop用户目录
1 2 /etc/group 存储用户组文件夹 /etc/passwd 存储创建的用户的文件夹
进入用户家目录
1 2 3 4 5 6 7 8 9 [root@localhost hadoop] [root@localhost hadoop] total 12 drwx------ 2 hadoop hadoop 62 Nov 29 08:04 . drwxr-xr-x. 3 root root 20 Nov 29 08:04 .. -rw-r--r-- 1 hadoop hadoop 18 Oct 31 2018 .bash_logout -rw-r--r-- 1 hadoop hadoop 193 Oct 31 2018 .bash_profile -rw-r--r-- 1 hadoop hadoop 231 Oct 31 2018 .bashrc 所属用户 所属用户组
使用ll查看文件夹的大小是错误的,可以使用du -sh 来查看问价的具体大小
3.新建和删除一个用户所做的事情
新建用户:
a.在用户文件(/etc/passwd) 添加用户信息
b.在用户组文件(/etc/group)添加用户组信息
c.在/home/hadoop添加用户文件夹
删除用户:
a.在用户文件中(/etc/passwd)将用户的信息删除
b.当用户组中只有该用户一个用户时候,就会将这个用户删除,组会自动校验
c.删除用户并不会删除/home下面的用户的文件夹
1 2 3 4 [root@localhost ~] hadoop:x:1000:1000::/home/hadoop:/bin/bash [root@localhost ~] hadoop:x:1000:
模拟用户缺失样式:
当将用户目录下面的:.bash_logout .bash_profile .bashrc
此三个文件删除之后,再进行切换用户会丢失样式,此时我们可以将其他用户下面的这三个文件拷贝到该用户的家目录下面,然后修正此三个文件的用户和用户组,也可以将/etc/skel 下面的此三个文件拷贝到该用户目录下面。
操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [root@localhost ~] uid=1000(ruoze) gid=1000(ruoze) groups=1000(ruoze) [root@localhost ~] [root@localhost home] total 0 drwx------. 4 ruoze ruoze 112 Nov 28 11:12 ruoze [root@localhost home] [root@localhost ruoze] total 0 [root@localhost ruoze] total 16 drwx------. 4 ruoze ruoze 112 Nov 28 11:12 . drwxr-xr-x. 3 root root 19 Nov 28 11:11 .. -rw-------. 1 ruoze ruoze 5 Nov 28 11:12 .bash_history -rw-r--r--. 1 ruoze ruoze 18 Oct 31 2018 .bash_logout -rw-r--r--. 1 ruoze ruoze 193 Oct 31 2018 .bash_profile -rw-r--r--. 1 ruoze ruoze 231 Oct 31 2018 .bashrc drwxrwxr-x. 3 ruoze ruoze 18 Nov 28 11:12 .cache drwxrwxr-x. 3 ruoze ruoze 18 Nov 28 11:12 .config [root@localhost ruoze] [root@localhost ruoze] total 0 drwx------. 4 ruoze ruoze 35 Nov 28 11:14 . drwxr-xr-x. 3 root root 19 Nov 28 11:11 .. drwxrwxr-x. 3 ruoze ruoze 18 Nov 28 11:12 .cache drwxrwxr-x. 3 ruoze ruoze 18 Nov 28 11:12 .config [root@localhost ruoze] Last login: Thu Nov 28 11:12:37 CST 2019 on tty1 -bash-4.2$
重新将问价拷贝回去,样式回复:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@localhost ruoze] cp: omitting directory ‘/etc/skel/.’ cp: omitting directory ‘/etc/skel/..’ [root@localhost ruoze] total 12 drwx------. 4 ruoze ruoze 91 Nov 28 11:17 . drwxr-xr-x. 3 root root 19 Nov 28 11:11 .. -rw-r--r--. 1 root root 18 Nov 28 11:17 .bash_logout -rw-r--r--. 1 root root 193 Nov 28 11:17 .bash_profile -rw-r--r--. 1 root root 231 Nov 28 11:17 .bashrc drwxrwxr-x. 3 ruoze ruoze 18 Nov 28 11:12 .cache drwxrwxr-x. 3 ruoze ruoze 18 Nov 28 11:12 .config [root@localhost ruoze] Last login: Thu Nov 28 11:14:26 CST 2019 on pts/0 [ruoze@localhost ~]$ [ruoze@localhost ~]$
将hadoop用户添加到另外一个组bigdata:
1 2 3 groupadd bigdata usermod -a -G bigdata hadoop id hadoop
操作:
1 2 3 4 5 6 7 8 9 10 11 a.创建bigdata用户组 [root@localhost /] [root@localhost /] bigdata:x:1001: [root@localhost /] b.将ruoze添加到bigdata用户组里面 [root@localhost /] [root@localhost /] uid=1000(ruoze) gid=1000(ruoze) groups=1000(ruoze),1001(bigdata) [root@localhost /] c.将bigdata设置为若泽的主组
查看命令帮助:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@localhost /] Usage: usermod [options] LOGIN Options: -c, --comment COMMENT new value of the GECOS field -d, --home HOME_DIR new home directory for the user account -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -f, --inactive INACTIVE set password inactive after expiration to INACTIVE -g, --gid GROUP force use GROUP as new primary group -G, --groups GROUPS new list of supplementary GROUPS -a, --append append the user to the supplemental GROUPS mentioned by the -G option without removing him/her from other groups -h, --help display this help message and exit -l, --login NEW_LOGIN new value of the login name -L, --lock lock the user account -m, --move-home move contents of the home directory to the new location (use only with -d) -o, --non-unique allow using duplicate (non-unique) UID -p, --password PASSWORD use encrypted password for the new password -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL new login shell for the user account -u, --uid UID new UID for the user account -U, --unlock unlock the user account -Z, --selinux-user SEUSER new SELinux user mapping for the user account [root@localhost /] [root@localhost /] uid=1000(ruoze) gid=1001(bigdata) groups=1001(bigdata) [root@localhost /]
4.设置密码:
1 2 3 4 5 6 7 [root@localhost /] Changing password for user ruoze. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@localhost /]
5.切换用户:
su ruoze 切换到ruoze用户
su - ruoze 切换到ruoze用户,并且执行环境变量
.bash_profile su ruoze 不会执行 ,su - ruoze 会执行该文件
.bashrc su ruoze 和 su - ruoze 都会执行该文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [root@localhost home] [root@localhost ruoze] total 0 [root@localhost ruoze] total 16 drwx------. 4 ruoze bigdata 112 Nov 28 11:19 . drwxr-xr-x. 3 root root 19 Nov 28 11:11 .. -rw-------. 1 ruoze bigdata 5 Nov 28 11:19 .bash_history -rw-r--r--. 1 root root 18 Nov 28 11:17 .bash_logout -rw-r--r--. 1 root root 193 Nov 28 11:17 .bash_profile -rw-r--r--. 1 root root 231 Nov 28 11:17 .bashrc drwxrwxr-x. 3 ruoze bigdata 18 Nov 28 11:12 .cache drwxrwxr-x. 3 ruoze bigdata 18 Nov 28 11:12 .config [root@localhost ruoze] [ruoze@localhost ~]$ exit exit [root@localhost ruoze] Last login: Thu Nov 28 12:39:58 CST 2019 on pts/0 [ruoze@localhost ~]$ exit logout [root@localhost ruoze]
5.普通用户获取root用户最大权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [root@localhost ruoze] [root@localhost ruoze] [root@localhost ~] total 4 -rw-------. 1 root root 1276 Nov 28 11:04 anaconda-ks.cfg [root@localhost ~] [root@localhost ~] total 8 -rw-------. 1 root root 1276 Nov 28 11:04 anaconda-ks.cfg -rw-r--r--. 1 root root 14 Nov 28 13:31 rz.log [root@localhost ~] [ruoze@localhost root]$ ll ls: cannot open directory .: Permission denied [ruoze@localhost root]$ sudo ll sudo: ll: command not found [ruoze@localhost root]$ sudo ls -l total 8 -rw-------. 1 root root 1276 Nov 28 11:04 anaconda-ks.cfg -rw-r--r--. 1 root root 14 Nov 28 13:31 rz.log [ruoze@localhost root]$ ls -l ls: cannot open directory .: Permission denied [ruoze@localhost root]$ cat rz.log cat: rz.log: Permission denied [ruoze@localhost root]$ sudo cat rz.log www.ruoze.com [ruoze@localhost root]$
6./etc/passwd
修改配置文件ruoze 用户最后的地方为以下两种情况
1 2 ruoze:x:1002:1003::/home/ruoze:/bin/false ruoze:x:1002:1003::/home/ruoze:/sbin/nologin
进行用户切换,发现切换不了用户
su - ruoze
对应CDH有很多的组件都有自己的用户
hdfs 有自己的用户 hdfs
hbase 有自己的用户 hbase
出现问题时候,我们可以进行修改对应组件的/bin/bash
7.权限问题:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ERROR:Permission denied chmod -R 777 文件/文件夹 修改文件或者文件夹的权限 chown -R 用户:用户组 文件夹/文件 修改文件或者文件夹的所有者 ***** -R 参数基本上只有在这两个地方用到了 -rw-r--r--. 1 root root 14 Nov 28 13:31 rz.log 第一个字母含义:-代表文件 d 代表文件夹 l 代表链接 r: read 4 w: write 2 x: 执行 1 -: 无权限 0 rwx = 7 rw = 6 rx = 5 wx = 3 -rwx-rw--r--. 1 root root 14 Nov 28 13:31 rz.log rwx 第一组 代表root用户对此文件或者文件夹的权限 rw 第二组 代表root用户组对此文件或文件夹的权限 r 第三组 代表其他组所属的用户对此文件或者文件夹的权限
8.查看文件大小
使用ll查看文件夹的大小可能不准确,可以使用du -sh 查看文件或者文件夹
对于正在滚动的文件可以先对其进行备份 cp rz.log rz.log.bak
9.文件权限案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [root@localhost tmp] [root@localhost tmp] -rw-r--r-- 1 root root 18 Nov 28 16:25 apache.log [root@localhost tmp] [ruoze@localhost ~]$ cd /tmp/ [ruoze@localhost tmp]$ ll -rw-r--r-- 1 root root 18 Nov 28 16:25 apache.log 测试第三组权限 [ruoze@localhost tmp]$ vim apache.log 使用ctrl + z强制退出之后产生交换文件 [1]+ Stopped vim apache.log [ruoze@localhost tmp]$ ll -a drwxrwxrwt. 9 root root 255 Nov 28 16:27 . dr-xr-xr-x. 17 root root 224 Nov 28 11:03 .. -rw-r--r-- 1 root root 18 Nov 28 16:25 apache.log -rw------- 1 ruoze bigdata 12288 Nov 28 16:27 .apache.log.swp 修改文件的权限为646,使用ruoze用户进行编辑保存成功 [root@localhost ~] uid=1000(ruoze) gid=1001(bigdata) groups=1001(bigdata) [root@localhost ~] [root@localhost tmp] -rw-r--r-- 1 root root 18 Nov 28 16:25 apache.log [root@localhost tmp] [root@localhost tmp] -rw-r--rw- 1 root root 18 Nov 28 16:25 apache.log [root@localhost tmp] Last login: Thu Nov 28 16:26:44 CST 2019 on pts/0 [ruoze@localhost ~]$ cd /tmp/ [ruoze@localhost tmp]$ vim apache.log ===保存成功 测试第二组权限:先将ruoze用户添加到root用户组,再次使用ruoze用户编辑 [root@localhost tmp] uid=1000(ruoze) gid=1001(bigdata) groups=1001(bigdata),0(root) [root@localhost tmp] -rw-r--r-- 1 root root 35 Nov 28 16:33 apache.log [root@localhost tmp] [ruoze@localhost tmp]$ vim apache.log ==>编辑失败 [ruoze@localhost tmp]$ exit ; exit [root@localhost tmp] [root@localhost tmp] [root@localhost tmp] -rw-rw-r-- 1 root root 35 Nov 28 16:33 apache.log [root@localhost tmp] [ruoze@localhost tmp]$ vim apache.log ==>编辑成功
10.搜索find
1 2 3 4 5 6 7 8 9 10 11 12 13 history 查看历史记录ps -ef 查看进程 top 查看系统情况 [root@localhost tmp] [root@localhost tmp] /sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0/net/ens33/iflink /sys/devices/virtual/net/lo/iflink /tmp/xxxflinkxxx [root@localhost tmp] /tmp/xxxflinkxxx
11.对用户进行修改用户和用户组
1 usermod -g ruoze -G ruoze,bigdata,jespjon ruoze