文件权限:
r: read 读
w:write 写
x: exe 可执行
d: 文件夹
l: 链接文件
-: 普通文件
b: block 块设备
c: char 字符设备
用户 用户所属组的其他用户 其他任何用户
user group other all 所有用户
chmod [ugoa] [±=] [rwx] 文件或文件夹
设置文件权限:
-
chmod u+w b.txt 当前用户添加写权限
chmod g+w,o+w b.txt 给组内其他用户添加写和other用户添加xie权限chmod a=rw b.txt 所有用户添加 读写权限
chmod o-rw b.txt 删除其他用户的读写权限 -
八进制方式:
r : 4
w : 2
x : 1
6 4 4
4+2
user group other
对于一个文件夹:
chmod 777 code1
递归添加权限:
chmod -R g+w code1
用户与用户组:
用户和组
一个用户必须有一个主组
一个用户可以有多个组
一个组可以有多个用户
-
用户账户的信息存放在/etc/passwd文件中;
超级用户root(0)
程序用户(1~499)
普通用户(500~65535)用户名 密码 uid gid 用户说明 家目录 shell解释器
python : x : 1001 : 1001 : : /home /python : /bin/sh
用户的密码存放到/etc/shadow,该文件只有root可以修改;
用户名 密码 最近更改时间 禁止修改密码的天数 到用户必须修改密码的天数 告警更改密码期限 不活动时间 标志
python : 636636 : 17394 : 0 : 99999 : 7 : : :
组账户信息存放到/etc/group中
1.新建用户
useradd [optional] 用户名
-g 指定主组名或组id,必须已经存在的组
-u 指定用户的id
-m 自动建立用户主目录
-d 指定用户的家目录
-s 指定用户登录后使用shell,默认是/bin/bash
sudo useradd python
只是看到在配置文件中存在用户,但是没有用户的’家’
sudo useradd -m python
自动创建用户的’家’,名字同用户的名字
2.删除用户:
userdel -r 用户名 删除用户和用户’家’目录 (/home/python)
-
修改用户密码:
sudo passwd 用户名 -
切换用户:
su 用户名
输入此用户的密码:
(补充新建的用户没有sudo权限)
sudo su root 切换到root用户
sudo su -
切换到root用户,并回到root用户的家
#启用root账户
$ sudo password root #根据提示为root输入密码
必须切换到root用户
#设置sudo提升权限的时候不需要输入密码,需要修改/etc/sudoers文件
sudo vi /etc/sudoers
#也可以使用工具:sudo visudo编辑
#Allow members of group sudo to execute any command
#将sudo组添加NOPASSWD:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
#然后按esc
:wq!
#如果新添加的用户不属于sudo组,是不能使用sudo提升权限的,需要将用户添加到sudo组
#以属于sudo组的用户登录
sudo usermod -a -G sudo 用户名
如果没有切换使用此命令恢复:
pkexec chmod 0440 /etc/sudoers
了解:
groupadd 组名
groupdel 组名
groupmod -n 新组名 旧组名
groups 显示所有组
who
whoami
设置目录和文件的归属
使用chown命令为文件或目录设置归属
命令格式:
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
注:同时设置属主、属组时,用户名和组名之间用冒号“:”进行分隔。如果只设置属组时,需使用“:组名”的形式。
常用选项:
-R:递归修改指定目录下所有文件、子目录的归属
sudo chown python a.txt 更改的是文件的拥有着
sudo chown python1:python a.txt 更改文件的拥有着和组
sudo chown :python a.txt 更改文件的组
chgrp 组名 文件|文件夹