Linux实操篇(用户权限类:常用命令)
接上篇:Linux实操篇(文件目录类:常用命令)
useradd:添加新用户
-- 添加新用户 useradd 用户名 -- 添加新用户到某个组 user -g 组名 用户名
-- 当前系统除了 root 用户之外,普通用户只有一个 ithailin(系统用户除了超级管理员用户 root 在 root目录下,其他普通用户都在 home目录下) [root@hadoop100 ~]# ls /home/ ithailin -- 添加一个普通用户 tony [root@hadoop100 ~]# useradd tony [root@hadoop100 ~]# ls /home/ ithailin tony -- 添加一个普通用户 david,但目录名叫 dave(用户登录依旧是david,但目录名是dave) [root@hadoop100 ~]# useradd -d /home/dave david [root@hadoop100 ~]# ls /home/ dave ithailin tony
passwd:设置用户密码
-- 设置用户登录密码 passwd [用户名] -- 设置用户 tony 的登录密码 -- 输入的密码少于8位,但依旧有效,再次输入即可 [root@hadoop100 ~]# passwd tony 更改用户 tony 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@hadoop100 ~]# passwd david 更改用户 david 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
id:查看用户
-- 查看用户 id [用户名] [root@hadoop100 ~]# id tony uid=1001(tony) gid=1001(tony) 组=1001(tony) [root@hadoop100 ~]# id david uid=1002(david) gid=1002(david) 组=1002(david)
-- 查看系统所有用户,在/(根目录)下的etc目录下的passwd文件中
[root@hadoop100 ~]# cat /etc/passwd
[root@hadoop100 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ... ... ... ithailin:x:1000:1000:ithailin:/home/ithailin:/bin/bash tony:x:1001:1001::/home/tony:/bin/bash david:x:1002:1002::/home/dave:/bin/bash
su:用户切换
用户切换输入层层嵌套,使用exit则可以返回上一个用户
-- 切换用户, su [用户名] -- root用户切换普通用户可以直接切换 [root@hadoop100 ~]# su ithailin [ithailin@hadoop100 root]$ ls 桌面/ ls: 无法访问桌面/: 权限不够 -- 普通用户切换到root用户需要输入密码 [ithailin@hadoop100 root]$ su root 密码: [root@hadoop100 ~]# ls 桌面/
who am i(whoami):我是谁
-- 查看最初始的登录用户 [root@hadoop100 ~]# who am i root pts/0 2022-08-16 16:38 (192.168.181.1) -- 查看当前登录用户 [root@hadoop100 ~]# whoami root
[root@hadoop100 ~]# su ithailin [ithailin@hadoop100 root]$ who am i root pts/0 2022-08-16 16:38 (192.168.181.1) [ithailin@hadoop100 root]$ whoami ithailin
sudo:设置普通用户具有root权限(soduers文件)
-- 使用普通用户 tony 查看 root 用户目录,提示权限不够 [root@hadoop100 ~]# su tony [tony@hadoop100 root]$ ls ls: 无法打开目录.: 权限不够 -- 使用 sudo 命令,但提示普通用户tony不在sudoers文件中 [tony@hadoop100 root]$ sudo ls 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点: #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。 [sudo] tony 的密码: tony 不在 sudoers 文件中。此事将被报告。 -- 返回之前的root用户 [tony@hadoop100 root]$ exit exit 您在 /var/spool/mail/root 中有新邮件 -- 编辑 /(根目录)下的etc目录下的sudoers 文件 [root@hadoop100 ~]# vim /etc/sudoers
[root@hadoop100 ~]# su tony [tony@hadoop100 root]$ ls ls: 无法打开目录.: 权限不够 [tony@hadoop100 root]$ sudo ls [sudo] tony 的密码: anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 [tony@hadoop100 root]$
userdel:删除用户
-- userdel:进程5584当前使用用户tony [tony@hadoop100 root]$ userdel tony userdel: user tony is currently used by process 5584 [tony@hadoop100 root]$ exit exit -- 使用root用户删除tony [root@hadoop100 ~]# userdel tony -- tony用户没有了 [root@hadoop100 ~]# id tony id: tony: no such user -- 但tony目录依旧存在 [root@hadoop100 ~]# ls /home/ dave ithailin tony [root@hadoop100 ~]# rm -rf /home/tony/ [root@hadoop100 ~]# ls /home/ dave ithailin -- userdel 使用 -r 选项将david目录随着用户一起删除掉 [root@hadoop100 ~]# userdel -r david [root@hadoop100 ~]# ls /home/ ithailin [root@hadoop100 ~]# id david id: david: no such user -- 再将两个普通用户添加回来 [root@hadoop100 ~]# useradd tony 正在创建信箱文件: 文件已存在 [root@hadoop100 ~]# useradd -d /home/dava david
group:用户组,用户组的配置文件在/(根目录)下 etc目录下的group文件
groupadd:新建组
-- 新增一个用户组,新增之后,在group配置文件中也会相应的新增一行组的信息 groupadd 用户组名 [root@hadoop100 ~]# groupadd meifa [root@hadoop100 ~]# cat /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: wheel:x:10: cdrom:x:11: mail:x:12:postfix man:x:15: dialout:x:18: floppy:x:19: games:x:20: tape:x:33: video:x:39: ftp:x:50: lock:x:54: audio:x:63: nobody:x:99: users:x:100: utmp:x:22: utempter:x:35: input:x:999: systemd-journal:x:190: systemd-network:x:192: dbus:x:81: polkitd:x:998: printadmin:x:997: cgred:x:996: libstoragemgmt:x:995: colord:x:994: rpc:x:32: saned:x:993: dip:x:40: gluster:x:992: ssh_keys:x:991: saslauth:x:76: abrt:x:173: setroubleshoot:x:990: rtkit:x:172: pulse-access:x:989: pulse-rt:x:988: pulse:x:171: radvd:x:75: chrony:x:987: unbound:x:986: kvm:x:36:qemu qemu:x:107: tss:x:59: libvirt:x:985: sssd:x:984: usbmuxd:x:113: geoclue:x:983: ntp:x:38: gdm:x:42: rpcuser:x:29: nfsnobody:x:65534: gnome-initial-setup:x:982: sshd:x:74: slocate:x:21: avahi:x:70: postdrop:x:90: postfix:x:89: stapusr:x:156: stapsys:x:157: stapdev:x:158: tcpdump:x:72: ithailin:x:1000:ithailin tony:x:1001: david:x:1002: meifa:x:1003:
usermod:修改用户
-- 修改指定用户的用户组信息 -- 选项 -g:修改用户的初始登录组,给定的组必须存在,默认组id是1 usermod -g 用户组 用户名 [root@hadoop100 ~]# id tony uid=1001(tony) gid=1001(tony) 组=1001(tony) [root@hadoop100 ~]# id david uid=1002(david) gid=1002(david) 组=1002(david) [root@hadoop100 ~]# usermod -g meifa tony [root@hadoop100 ~]# usermod -g meifa david [root@hadoop100 ~]# id tony uid=1001(tony) gid=1003(meifa) 组=1003(meifa) [root@hadoop100 ~]# id david uid=1002(david) gid=1003(meifa) 组=1003(meifa)
groupmod:修改组
-- 修改组的名称 groupmod -n 新组名 原组名 [root@hadoop100 ~]# id tony uid=1001(tony) gid=1003(meifa) 组=1003(meifa) [root@hadoop100 ~]# id david uid=1002(david) gid=1003(meifa) 组=1003(meifa) [root@hadoop100 ~]# groupmod -n harruct meifa [root@hadoop100 ~]# id tony uid=1001(tony) gid=1003(harruct) 组=1003(harruct) [root@hadoop100 ~]# id david uid=1002(david) gid=1003(harruct) 组=1003(harruct)
[root@hadoop100 ~]# cat /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: wheel:x:10: cdrom:x:11: mail:x:12:postfix man:x:15: dialout:x:18: floppy:x:19: games:x:20: tape:x:33: video:x:39: ftp:x:50: lock:x:54: audio:x:63: nobody:x:99: users:x:100: utmp:x:22: utempter:x:35: input:x:999: systemd-journal:x:190: systemd-network:x:192: dbus:x:81: polkitd:x:998: printadmin:x:997: cgred:x:996: libstoragemgmt:x:995: colord:x:994: rpc:x:32: saned:x:993: dip:x:40: gluster:x:992: ssh_keys:x:991: saslauth:x:76: abrt:x:173: setroubleshoot:x:990: rtkit:x:172: pulse-access:x:989: pulse-rt:x:988: pulse:x:171: radvd:x:75: chrony:x:987: unbound:x:986: kvm:x:36:qemu qemu:x:107: tss:x:59: libvirt:x:985: sssd:x:984: usbmuxd:x:113: geoclue:x:983: ntp:x:38: gdm:x:42: rpcuser:x:29: nfsnobody:x:65534: gnome-initial-setup:x:982: sshd:x:74: slocate:x:21: avahi:x:70: postdrop:x:90: postfix:x:89: stapusr:x:156: stapsys:x:157: stapdev:x:158: tcpdump:x:72: ithailin:x:1000:ithailin tony:x:1001: david:x:1002: harruct:x:1003:
groupdel:删除组
-- 删除组名 groupdel 组名 [root@hadoop100 ~]# groupdel tony [root@hadoop100 ~]# groupdel david
[root@hadoop100 ~]# cat /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: wheel:x:10: cdrom:x:11: mail:x:12:postfix man:x:15: dialout:x:18: floppy:x:19: games:x:20: tape:x:33: video:x:39: ftp:x:50: lock:x:54: audio:x:63: nobody:x:99: users:x:100: utmp:x:22: utempter:x:35: input:x:999: systemd-journal:x:190: systemd-network:x:192: dbus:x:81: polkitd:x:998: printadmin:x:997: cgred:x:996: libstoragemgmt:x:995: colord:x:994: rpc:x:32: saned:x:993: dip:x:40: gluster:x:992: ssh_keys:x:991: saslauth:x:76: abrt:x:173: setroubleshoot:x:990: rtkit:x:172: pulse-access:x:989: pulse-rt:x:988: pulse:x:171: radvd:x:75: chrony:x:987: unbound:x:986: kvm:x:36:qemu qemu:x:107: tss:x:59: libvirt:x:985: sssd:x:984: usbmuxd:x:113: geoclue:x:983: ntp:x:38: gdm:x:42: rpcuser:x:29: nfsnobody:x:65534: gnome-initial-setup:x:982: sshd:x:74: slocate:x:21: avahi:x:70: postdrop:x:90: postfix:x:89: stapusr:x:156: stapsys:x:157: stapdev:x:158: tcpdump:x:72: ithailin:x:1000:ithailin harruct:x:1003:
文件属性
-- 第0位字符(首个字符)表示:不同字符的开头代表不同的文件类型 -- -(杠):普通文件 -- d:目录 -- l:link,链接文件 -- c:字符类型的设置文件(例如:鼠标、键盘) -- b:块设置文件(例如:硬盘)
-- 后面的数字 1:表示当前文件硬链接数
-- 第一个root:表示用户
-- 第二个root:表示用户组
-- 后面接着的1729是:文件大小
-- 7月 25 16:25:文件创建的时间
-- 后面就是文件名称
[root@hadoop100 ~]# ll 总用量 8 -rw-------. 1 root root 1729 7月 25 16:25 anaconda-ks.cfg -rw-r--r--. 1 root root 1777 7月 25 16:28 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 7月 25 16:28 公共 drwxr-xr-x. 2 root root 6 7月 25 16:28 模板 drwxr-xr-x. 2 root root 6 7月 25 16:28 视频 drwxr-xr-x. 2 root root 6 7月 25 16:28 图片 drwxr-xr-x. 2 root root 6 7月 25 16:28 文档 drwxr-xr-x. 2 root root 6 7月 25 16:28 下载 drwxr-xr-x. 2 root root 6 7月 25 16:28 音乐 drwxr-xr-x. 2 root root 34 8月 16 15:36 桌面
chmod:改变权限
-- 变更权限 -- 选项 u:更改当前目录或文件所属用户的权限 -- 选项 g:更改当前目录或文件所属用户组的权限 -- 选项 o:更改当前目录或文件所属用户之外的其他用户权限 -- 选项 a:更改当前目录或文件以上所有的权限 -- 操作符 +(加):在当前权限基础上添加一个权限 -- 操作符 -(减):在当前权限基础上减少一个权限 -- 操作符 =:对当前权限进行赋值为指定的权限 -- 权限 r:读 -- 权限 w:写 -- 权限 x:执行
-- 权限 -(杠):表示没有当前权限
chmod [选项] [操作符] [权限] [指定目录或文件名]
[root@hadoop100 ~]# ll init.bak -rwxrwxrwx. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chmod u-x init.bak [root@hadoop100 ~]# ll init.bak -rw-rwxrwx. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chmod g-rwx init.bak [root@hadoop100 ~]# ll init.bak -rw----rwx. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chmod o-w init.bak [root@hadoop100 ~]# ll init.bak -rw----r-x. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chmod a=r-- init.bak [root@hadoop100 ~]# ll init.bak -r--r--r--. 1 root root 1777 8月 19 14:17 init.bak
[root@hadoop100 ~]# ll init.bak ----------. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chmod 777 init.bak [root@hadoop100 ~]# ll init.bak -rwxrwxrwx. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chmod 444 init.bak [root@hadoop100 ~]# ll init.bak -r--r--r--. 1 root root 1777 8月 19 14:17 init.bak
chown:更改所有者
-- 更改文件或目录的所属用户 -- 选项 -R:当是目录的时候,递归操作 chown [选项] [最终用户] [文件或目录]
[root@hadoop100 ~]# ll init.bak -r--r--r--. 1 root root 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chown tony init.bak [root@hadoop100 ~]# ll init.bak -r--r--r--. 1 tony root 1777 8月 19 14:17 init.bak
chgrp:更改所属组
-- 更改文件或目录的所属组 -- -R:当前是目录时,递归更改目录下所有所属组 chgrp [选项] [最终所属组] [文件或目录]
[root@hadoop100 ~]# ll 总用量 12 -rw-------. 1 root root 1729 7月 25 16:25 anaconda-ks.cfg -r--r--r--. 1 tony root 1777 8月 19 14:17 init.bak -rw-r--r--. 1 root root 1777 7月 25 16:28 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 7月 25 16:28 公共 drwxr-xr-x. 2 root root 6 7月 25 16:28 模板 drwxr-xr-x. 2 root root 6 7月 25 16:28 视频 drwxr-xr-x. 2 root root 6 7月 25 16:28 图片 drwxr-xr-x. 2 root root 6 7月 25 16:28 文档 drwxr-xr-x. 2 root root 6 7月 25 16:28 下载 drwxr-xr-x. 2 root root 6 7月 25 16:28 音乐 drwxr-xr-x. 2 root root 34 8月 16 15:36 桌面 [root@hadoop100 ~]# chgrp ithailin init.bak [root@hadoop100 ~]# ll init.bak -r--r--r--. 1 tony ithailin 1777 8月 19 14:17 init.bak [root@hadoop100 ~]# chgrp -R ithailin 桌面/ [root@hadoop100 ~]# ll 总用量 12 -rw-------. 1 root root 1729 7月 25 16:25 anaconda-ks.cfg -r--r--r--. 1 tony ithailin 1777 8月 19 14:17 init.bak -rw-r--r--. 1 root root 1777 7月 25 16:28 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 7月 25 16:28 公共 drwxr-xr-x. 2 root root 6 7月 25 16:28 模板 drwxr-xr-x. 2 root root 6 7月 25 16:28 视频 drwxr-xr-x. 2 root root 6 7月 25 16:28 图片 drwxr-xr-x. 2 root root 6 7月 25 16:28 文档 drwxr-xr-x. 2 root root 6 7月 25 16:28 下载 drwxr-xr-x. 2 root root 6 7月 25 16:28 音乐 drwxr-xr-x. 2 root ithailin 34 8月 16 15:36 桌面
接下篇:Linux实操篇(搜索查找类、压缩解压类:常用命令)