Linux用户及文件权限管理
1.Linux用户管理
1.1查看用户
who am i
或者
who mom likes
1.2 创建用户
创建用户需要root权限,需要sudo命令(使用sudo命令前提是知道当前登录用户的密码和当前用户必须在sudo用户组)
su、su-与sudo
su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
sudo adduser name #可以添加名叫name的用户
su -l name #可以切换到名为name的用户
1.3 用户组
每一个用户都有自己归属(用户组),用户组就是一组用户的集合,他们共享资源和权限
方法一:使用groups命令
groups name #查看name属于哪个用户组,其中冒号之前表示用户,冒号之后表示所属用户组
方法二:查看/etc/group文件
cat /etc/group | sort
#cat命令用于读取指定文件的内容并打印到终端输出,|sort表示将读取的文本进行字典的排序再输出
再进行过滤
cat /etc/group | grep -E "name"
/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
你看到上面的 password 字段为一个 x 并不是说密码就是它,只是表示密码不可见而已。
这里需要注意,如果用户主用户组,即用户的 GID 等于用户组的 GID,那么最后一个字段 user_list 就是空的,比如 shiyanlou 用户,在 /etc/group 中的 shiyanlou 用户组后面是不会显示的。lilei 用户,在 /etc/group 中的 lilei 用户组后面是不会显示的。
将其他用户加入sudo用户组
sudo usermod -G sudo name
1.4删除用户
sudo deluser name --remove-home
2.Linux文件权限
2.1 查看文件权限
ls -l
Linux里面一切皆文件,正因为如此才有设备文件(/dev目录下有各种设备文件,大都与硬件设备有关)。
- 文件类型
- 文件权限
读权限,表示你可以使用 cat <file name> 之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件; 执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同 Windows 上的 exe 后缀的文件,不过 Linux 上不是通过文件后缀名来区分文件的类型。你需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。
- 链接数
链接到该文件所在的 inode 结点的文件名数目
- 文件大小
以 inode 结点大小为单位来表示的文件大小,你可以给 ls 加上 -lh 参数来更直观的查看文件的大小。
2.2变更文件所有者
sudo chown 用户名 文件名
2.3修改文件权限
方法一:二进制数字表示
方法二:加减赋值操作
chmod go-rw 文件名
g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。