用户管理
useradd添加用户
# 需要在root用户下进行使用该命令
$ useradd tony #创建新用户tony,并创建一个主目录为tony
$ useradd -d /home/dave david #创建新用户,并用-d参数指定新的主目录为dave
$ passwd tony #为tony设置密码
⚠️: $ useradd -g bigdata xiaoming #创建用户xiaoming并添加到bigdata组内
id、/etc/passwd查询用户是否存在
$ id tony # 查询该用户是否存在
uid=0(root) gid=0(root) 组=0(root) #输出
$ less /etc/passwd #查看/etc/passwd配置文件
#文件第一行为root
#文件最后的行为新添加的用户
su切换用户
$ su pirmingham #切换到pirmingham用户
whoami命令查看会话
$ whoami # 查看当前会话用户是谁?
$ who am i #查看创建当前会话的用户是谁?
sudo为普通用户临时提权为root权限
$ sudo 命令 #
/etc/sudoers配置文件配置提权用户
这个配置文件包含的是可以执行sudo命令的用户
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
## Allows members of the users group to mount and unmount the
## cdrom as root
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
## Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown -h now
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
userdel删除用户
$ userdel tony # 删除tony用户,但不会删除home下的家目录
$ userdel -r tony #删除tony用户,并同时删除home家目录
## 注意⚠️:需要在root用户下执行该命令
用户组管理
groupadd添加组
$ groupadd 新组名
/etc/group查看用户组信息
$ less /etc/group #查看组信息
haircut:x:1002:
tony:x:1000:
david:x:1001:
usermod修改用户的组
$ usermod -g "组名" "用户名"
$ usermod -g haircut tony
groupmod修改用户组的组名
$ groupmod -n "newGroupName" "oldGroupName"
# 对比记忆
$ mv "oldName" "newName"
文件权限
文件属性-第1位字母
- -:普通文件
- d:目录文件
- l:一个链接文件
- c:字符设备-鼠标-键盘-shell键入
- b:块设备-硬盘
文件权限-1~9位
1~3:user :属主权限
4~6:group:属组权限
7~9:other: 其他用户权限
文件及目录rwx所代表的含义
文件
- r代表可读,可以查看
- w代表可写,但并不代表可以被删除,如果能够被删除,其父文件夹的(其所在文件夹的)权限必须也是w,才能删除该文件
- x代表可被系统执行
目录
- r代表可读取,能被ls查看;没有r,也能被 cd进入,没有r只影响ls查看读取;
- w代表可修改,即创建文件、删除文件删除目录、重命名目录
- x代表可进入该目录,也就是说,没有x,不能被cd进入
⚠️:以上针对的是普通用户,root用户不受限制
⚠️:sudo cd不能进入受限目录,chatgpt提供了一cd 种方法:
$ sudo -s #打开root用户会话,mac也适用
小结
文件 | 目录 | |
---|---|---|
r | 读取 | 不是cd、cd由x控制,而是能ls |
w | 写入,但不含删除,删除由文件夹控制 | 创建文件、删除文件、删除目录、重命名文件 |
x | 可执行 | 可进入,即能cd进入 |
ls文件信息
⚠️:文件大小,单位为字节B
chmod改变文件权限
方式1
$ chmod {
ugoa}{
+-=}{
rwx} 文件或目录
$ chmod u=rwx file #给file用户权限添加rwx权限
方式2
$ chmod [mode=421][mode=421][mode=421] 文件或目录
$ chmod 777 file #给file用户权限、组权限、其他权限都设置为rwx;
chown改变用户
$ chown tony 文件或目录 #改变文件或目录的用户所属
$ chown -R tony 目录 #递归地改变目录的用户所属
chgrp改变所属组
$ chgrp 用户组 文件或目录 #改变文件或目录的所属组
$ chgrp -R 用户组 目录 #递归地改变用户的所属组