目录
- 项目1:用户
- 项目2:组
- 项目3:权限
- 项目2:组
项目1:用户
用户分为三种
root 用户 (ID 0)
在Linux系统中,root用户UID为0,root用户的权限是最高的,普通用户无法执行的操作,root用户都能完成,所以也被称为超级用户。
系统用户 (ID 1-499)
系统用户也被称为虚拟用户、伪用户或假用户,这类用户不具有登录Linux系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等,这类用户都是系统自身拥有的。系统用户的UID为1~499。
普通用户 (ID 500 以上)
普通用户能登录系统,在Linux系统上进行普通操作,能操作自己目录的内容,其使用系统的权限受到限制,这类用户都是系统管理员创建的,其UID为500~60000之间。
参数:
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户;
-b, --base-dir BASE_DIR 指定新账户的家目录;
-c, --comment COMMENT 新账户的 GECOS 字段;
-d, --home-dir HOME_DIR 新账户的主目录;
-D, --defaults 显示或更改默认的 useradd 配置;
-e, --expiredate EXPIRE_DATE 新账户的过期日期;
-f, --inactive INACTIVE 新账户的密码不活动期;
-g, --gid GROUP 新账户主组的名称或 ID;
-G, --groups GROUPS 新账户的附加组列表;
-h, --help 显示此帮助信息并推出;
-k, --skel SKEL_DIR 使用此目录作为骨架目录;
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值;
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据
库;
-L, --lock 锁定用户帐号;
-m, --create-home 创建用户的主目录;
-M, --no-create-home 不创建用户的主目录;
-N, --no-user-group 不创建同名的组;
-o, --non-unique 允许使用重复的 UID 创建用户;
-p, --password PASSWORD 加密后的新账户密码;
-r, --system 创建一个系统账户;
-R, --root CHROOT_DIR chroot 到的目录;
-s, --shell SHELL 新账户的登录 shell;
-u, --uid UID 新账户的用户 ID;
-U, --user-group 创建与用户同名的组;
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
案例:
创建用户:useradd
创建新用户sls,并把新用户的组设置为songlldc
useradd -g songlldc sls
新建 edu 用户,并指定新的家目录,同时指定其登陆的 SHELL;
useradd -d /etc/edu -s /bin/bash edu
创建新用户,并未他指定主组 以及附属组
Useradd -g songlss -G slss edd
linux创建账户并自动生成主目录和主目录下的文件
useradd -d /home/test -m test
passwd [用户名] 设置密码
删除用户:userdel
删除
userdel 删除用户名
强制删除所有与此用户相关的文件,包括家目录和用户邮箱
userdel -r -f username
删除所有与此用户相关的文件
userdel -r username
删除的是账户和组信息,家目录和用户邮箱还在
userdel username
修改用户:usermod
usermod 禁用、启用帐号:
usermod -L [用户名] 禁用帐号
usermod -U [用户名] 启用帐号
usermod -e YYYY-MM-DD [用户名]
将 edu 用户属组修改为 edu1,edu2 附属组;
usermod -G edu1,edu2 edu
将 edu 用户加入到 edu3,edu4 附属组,-a 为添加新组,原组保留;
usermod –a -G edu3,edu4 edu
修改 edu 用户,并指定新的家目录,同时指定其登陆的 SHELL;
usermod -d /tmp/aa -s /bin/bash edu
将 edu 用户名修改为 edu1;
usermod -l edu1 edu
锁定 edu1 用户及解锁 edu1 用户方法;
usermod –L edu1;usermod -U edu1
项目2:组
所有的 Linux 或者 Windows 系统都有组的概念,通过组可以更加方便的管理用户,组
的概念应用于各行行业,例如企业会使用部门、职能或地理区域的分类方式来管理成员,映
射在 Linux 系统,同样可以创建用户,并用组的概念对其管理。
Linux 组有如下特点:
每个组有一个组 ID;
组信息保存在/etc/group 中;
每个用户至少拥有一个主组,同时还可以拥有 31 个附属组。
参数
f, --force 如果组已经存在则成功退出;
并且如果 GID 已经存在则取消 –g;
-g, --gid GID 为新组使用 GID;
-h, --help 显示此帮助信息并推出;
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值;
-o, --non-unique 允许创建有重复 GID 的组;
-p, --password PASSWORD 为新组使用此加密过的密码;
-r, --system 创建一个系统账户;
groupmod 用法
-g, --gid GID 将组 ID 改为 GID;
-h, --help 显示此帮助信息并推出;
-n, --new-name NEW_GROUP 改名为 NEW_GROUP;
-o, --non-unique 允许使用重复的 GID;
-p, --password PASSWORD 将密码更改为(加密过的) PASSWORD;
groupdel 用法
groupdel edu4 删除 edu4 组 要想删除成功edu4得是空的组
案例
groupdel
groupdel edu4 删除 edu4 组 要想删除成功edu4得是空的组
创建组:groupadd
groupadd 创建 edu 组
groupadd edu
groupadd 创建 edu 组,并指定 GID 为 800;
groupadd -g 800 edu
groupadd 创建一个 system 组,名为 edu 组
groupadd -r edu
修改组:groupmod
groupmod 修改组名称,将 dzqcedu 组名,改成 dzqcedu1;
groupmod -n dzqcedu1 dzqcedu
groupmod 修改组 GID 号,将原 dzqcedu1 组 gid 改成 gid 1000;
groupmod –g 1000 dzqcedu1
删除组:groupdel
groupdel abb 删除 abb组 要想删除成功abb得是空的组
项目3
Linux 权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统
中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户或用户
组可以对特定文件进行相应的操作。
Linux 每个进程都是以某个用户身份运行,进程的权限与该用户的权限一样,用户的权
限越大,则进程拥有的权限就越大。
Linux 中所有的文件及文件夹都有至少权限三种权限
r(读取) 可读取文件内容 可列出目录内容
w(写入) 可修改文件内容 可在目录中创建删除内容
x(执行) 可作为命令执行 可访问目录内容
目录必须拥有 x 权限,否则无法查看其内容
Linux 权限授权,默认是授权给三种角色,分别是 user、group、other,Linux 权限与用
户之间的关联如下:
U 代表 User,G 代表 Group,O 代表 Other;
每个文件的权限基于 UGO 进行设置;
权限三位一组(rwx),同时需授权给三种角色,UGO;
每个文件拥有一个所属用户和所属组,对应 UG,不属于该文件所属用户或所属组使用 O 来表示;在 Linux 系统中,可以通过 ls –l 查看 jfedu.net 目录的详细属性
ls -l中显示的内容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
-
10个字符确定不同用户能对文件干什么
-
第一个字符代表文件(-)、目录(d),链接(l)
-
其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
-
第一组rwx:文件所有者的权限是读、写和执行
-
第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
-
第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行
也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
-
1 表示连接的文件数
-
root 表示用户
-
root表示用户所在的组
-
1213 表示文件大小(字节)
-
Feb 2 09:39 表示最后修改日期
-
abc 表示文件名
改变权限的命令
chmod 改变文件或目录的权限
chmod 755 abc:赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
【参考】
-
groupadd 组名,在linux中添加组
-
vi /etc/group,查看linux中所有组信息,可以看可以编辑
-
cat /etc/group,查看linux中所有组信息,只可以看不可以编辑
-
useradd ‐g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下
-
vi /etc/passwd,查看linux中所有用户信息,可以看可以编辑
-
cat /etc/passwd,查看linux中所有用户信息,只可以看不可以编辑