linux下用户、组、文件的管理

来源:互联网 发布:淘宝内衣模特王文雨 编辑:程序博客网 时间:2024/06/05 02:20

用户创建:useradd
useradd 选项 用户名
选项含义:
* -c 用户的注释信息
* -d 以指定的路径为家目录
* -u UID
* -g GID 指明用户所属基本组,可为组名,也可是GID
* -G 指定附加组(以存在的组)
* -s 指定shell

实例

要求创建一个student的用户,他的身份是boss,ID为1234,属于管理员组成员,家目录在/home/student

useradd -c boss -d /home/student -u 1234 -G root -s /bin/bash student

用户删除 :userdel

userdel -r 用户名
-r: 删除用户家目录

用户属性修改: usermod
usermod [option] login
* -u:修改用户UID
* -g:修改用户GID
* -c:修改用户的注释信息
* -d:修改用户家目录,需要配合使用-m选项才会自动复制用户家目录下的文件到新的家目录
* -G:修改用户的附加组信息,需要配合-a(append)一起使用,如果不使用-a将删除原来的附加组
* -e:YYYY-MM-DD: 指明用户账号过期日期
* -s SHELL:新的默认SHELL
* -L:锁定用户,即lock,在/etcpasswd文件中,密码前面加!(一个)
* -U:解锁用户,即unlock,在/etc/passwd文件中,取消密码前面的!号

新增,变更与删除组

groupadd :新建组
groupadd [options] groupname
[options]选项参数如下
* -g: 指定GID
* -r:创建系统组

groupmod:组属性修改
groupmod [option] group
* -n group_name: 新名字
* -g GID:新的GID
groupmod -n group1 group2:将group2组名改为group1

组删除:groupdel
groupdel group

更改组密码:gpasswd
gpasswd [option] group
* -a user: 将user添加至指定组中
* -d user: 从指定组中移除用户user
* -A user1,user2,…:设置有管理权限的用户列表
gpasswd -a user group:将用户user加入group组中
gpasswd -d user group:将group组中移除用户user

临时切换主组:newgrp命令
如果用户不属于此组,则需要组密码

更改和查看组成员
groupmems [options] [action]
options:
* -g, –group groupname 更改为指定组 (只有root)
Actions:
* -a, –add username 指定用户加入组
* -d, –delete username 从组中删除用户
* -p, –purge 从组中清除所有成员
* -l, –list 显示组成员列表
* groups [OPTION].[USERNAME]… 查看用户所属组列表

groupmems -a user1 -g group : 将user1添加到group组中
groupmems -d user1 -g group:将group组中移除user用户
groupmems -g admin -l 列出指定组的成员列表(辅助组)
groupmems -g admin -p 清空指定组的所有成员(辅助组)。


文件属性操作

这里写图片描述

-rw-r–r–(10个字符) :文件权限
- 第一个字符代表文件(-)、目录(d),链接(l)
- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
- 第一组rwx:文件所有者的权限是读、写但不能执行
- 第二组r–:与文件所有者同一组的用户的权限是读不能写和执行
- 第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行
- 也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
- 1 表示连接的文件数

修改文件权限
owner:属主,u
group:属组,g
other:其他,o
a 所有用户(文件属主、属组用户及其他用户)
文件
r: 可使用文件查看类工具获取其内容
w: 可修改其内容
x: 可以把此文件提请内核启动为一个进程
目录
r: 可以使用ls查看此目录中文件列表
w: 可在此目录中创建文件,也可删除此目录中的文件
x: 可以使用ls -l查看此目录中文件列表,可以cd进入此
目录
X:只给目录x权限,不给文件x权限

chown 设置文件的所有者
chown [OPTION]… [OWNER][:[GROUP]] FILE..
用法:
OWNER
OWNER:GROUP
-R递归式地改变指定目录及其下的所有子目录和文件的拥有者。

chgrp 设置文件的属组信息
chgrp [OPTION]… GROUP FILE…
chmod 修改文件权限
chmod -R :递归修改权限
修改一类用户的所有权限:u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限:u+ u- g+ g- o+ o- a+ a- +
Linux文件系统上的特殊权限
SUID
SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用”ls -l” 或者”ll” 命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的”s”,就表明该执行文件拥有SUID属性。比如/usr/bin/passwd文件。

$ ll /usr/bin/passwd
-rwsr-xr-x 1 root root 41284 4月 9 2012 /usr/bin/passwd

SGID
SGID属性应用在目录上时,该目录中所建立的文件或子目录的拥有组都会是该目录的拥有组。当SGID属性应用在可执行文件上时,其他用户在使用执行文件时就会临时拥有该执行文件的拥有组权限。在使用”ls -l” 或者”ll” 命令浏览目录时,如果拥有组权限的第三位是一个小写的”s”,就表明该执行文件或者目录拥有SGID属性。

Sticky
Sticky属性只能应用在目录,当目录拥有Sticky属性,所有在该目录中的文件或子目录无论是什么权限,只有文件或者子目录所有者和root用户能做删除动作。在使用”ls -l”或者”ll”命令浏览目录时,如果其他用户权限的第三位是一个小写的”t”,就表明该执行文件或者目录拥有Sticky属性。

chmod u+s test_file #给文件增加SUID属性
chmod g+s test_dir #给目录增加SGID属性
chmod o+t test_dir #给目录增加Sticky属性

以及后续的ACL访问控制列表。