1. 创建用户 / 设置密码 / 删除用户
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
1 | useradd -m -g 组 新建用户名 | 添加新用户 | - -m 自动建立用户家目录- -g 指定用户所在的组,否则会建立一个和用户同名的组 |
2 | passwd 用户名 | 设置用户密码 | 如果是普通用户, 直接用 passwd 可以修改自己的账户密码 |
3 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
4 | cat / etc / passwd | grep 用户名 确认用户信息 新建用户后, 用户信息会保存在 /etc/passwd 文件中 |
第一个事没有权限执行useradd,第二个是没有权限修改passwd
提示: 创建用户时, 如果忘记添加 -m 选项指定新用户的家目录 — 最简单的方法就是删除用户, 重新创建 创建用户时,
默认会创建一个和用户名同名的组名 用户信息保存在 /etc/passwd 文件中
2. 查看用户信息
序号 | 命令 | 作用 |
---|---|---|
1 | id [用户名] | 查看用户 UID 和 GID 信息 |
2 | who | 查看当前所有登录的用户列表 |
3 | whoami | 查看当前登录用户的账户名 |
passwd 文件
/etc/passwd 文件存放的是用户的信息, 由 6 个分号组成的 7 个信息, 分别是
- 用户名
- 密码 (x, 表示加密的密码)
- UID (用户标识)
- GID (组标识)
- 用户全名 或 本地账号
- 家目录
- 登录使用的 Shell , 就是登录之后, 使用的终端命令, ubuntu 默认是 dash
usermod
- usermod 可以用来设置 用户 的 主组 / 附加组 和 登录 Shell, 命令格式如下 :
- 主组 : 通常在新建用户时指定, 在etc / passwd 的第 4 列 GID 对应的组
- 附加组 : 在 etc / group 中最后一列表示该组的用户列表, 用于指定 用户的附加权限
从这可以看出来我们可以把用户放在不同得组里面,然后获得不同得权限,这是一个应用。
注意 : 设置了用户的附加组之后, 需要重新登录才能生效 修改用户的主组 (passwd 中的 GID)
usermod -g 组 用户名
修改用户的附加组
usermod -G 组 用户名
修改用户登录 Shell
usermod -s /bin/bash 用户名 //改变shell也就是输入命令得窗口
注意: 默认使用 useradd 添加的用户是没有权限使用sudo 以 root 身份执行命令的, 可以使用一下命令,
将用户添加到sudo 附加组中
usermod -G sudo 用户名
which (重要)
注意:
/etc/passwd 是用于保存用户信息的文件
/usr/bin/passwd 是用于修改用户密码的程序
which 命令可以查看执行命令所在位置, 例如:
看文件得权限就能明白了
which ls
#输出
#/bin/ls
which useradd
#输出
#/usr/sbin/useradd
bin 和 sbin两种目录得区别
- 在 Linux 中, 绝大多数可执行文件都是保存在 /bin , /sbin , /usr/bin , /usr/sbin
- /bin (binary) 是二进制执行文件目录, 主要用于具体应用
- /sbin (system binary) 是系统管理员专用的二进制代码存放目录, 主要用于系统管理
- /usr/bin (user commands for applications) 后期安装的一些软件
/- usr/sbin (super user commands for applications) 超级用户的一些管理程序
提示 :
- cd 这个终端命令是内置在系统内核中的, 没有独立的文件,因此用 which 无法找到 cd 的命令位置
3. 切换用户
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
1 | su -用户名 | 切换用户, 并且切换目录 | -可以切换到用户家目录, 否则保持位置不变 |
2 | exit | 退出当前登录账户 ,返回上一级 |
zhangsan得时候exit以后还是回到python用户里面。
- su 不接用户名, 可以切换到 root ,但是不推荐使用, 因为不安全,这个时候,执行一些系统管理得命令是不需要加sudo得。
4. 修改文件权限
序号 | 命令 | 作用 |
---|---|---|
1 | chown | 修改拥有者 |
2 | chgrp | 修改组 |
3 | chmod | 修改权限 |
命令格式如下 :
#修改文件 | 目录的拥有者
chown 用户名 文件名|目录名
#递归修改文件 | 目录的组
chgrp -R 组名 文件名 | 目录名
#递归修改文件权限
chmod -R 755 文件名 | 目录名
注意:
分别用chmod,chown,chgrp进行修改
注意
python不输入dev组得,所以,要看后三位,有没有对其他文件得相应权限,因为,是r-x所以,没有w权限所以,有个锁
这就有了修改这个文件得权限了,因为输入python组。
#递归修改文件权限
chmod -R 755 文件名 | 目录名
- chmod 在设置权限时, 可以简单地使用三个数字分别对应 拥有者 / 组 和其他 用户的权限
#直接修改文件 | 目录的 读 | 写 | 执行 权限 , 但是不能精确到 拥有者 | 组 | 其他
chmod +/-rwx 文件名 | 目录名
常见数字组合有 (u 表示用户 / g 表示组 / o 表示其他) ;
777 ===> u=rwx, g=rwx, o=rwx
755 ===> u=rwx, g=rx, o=rx 644 ===> u=rw, g=r , o=r