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:
View Code

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:
View Code

文件属性

-- 第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
View Code

[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
View Code

 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
View Code

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 桌面
View Code

 

接下篇:Linux实操篇(搜索查找类、压缩解压类:常用命令)

 

posted @ 2022-08-16 16:14  DHaiLin  阅读(254)  评论(0编辑  收藏  举报