大家好,欢迎来到IT知识分享网。
目标
- 学习完本单元你将能够做到:
⑴ 建立、修改和删除用户帐号
⑵ 建立、修改和删除工作组帐号
⑶ 修改文件的属主和权限
⑷ 用特殊的权限限制对文件的访问
⑸ 用umask值和UPG计划设置工作组来访问文件和目录
⑹ 配置某个用户的shell环境
议程
- 用户帐号
- 工作组账号
- 文件的属主和权限
- 特殊权限SUID、SGID、Sticky
- 用su命令切换账号
- umask和UPG计划
- shell环境
4.1 考察用户策略
当设置或管理用户的账号时要考虑几件事,用户策略没有硬性的和快速的标准。在一些情况中,它可以授权给很大范围的用户,这在其它情况中是不可想象的。举例:在一个家庭中的计算机上或一个测试系统上,授权使用的范围通常越多越好。但在一个公司的服务器上,为了维护服务器的安全和完整性,用户策略管理将规定的十分严格。
1.考察在用户账号以外访问系统的次数
·一定要知道
2.考察密码和账户是否使用期满
3.考察对磁盘的使用情况和cpu限制
4. 考察用户策略的几个问题。包括:
⑴ 访问系统文件和资源的数量
⑵ 是否去限制定期修改密码。
⑶ 是否去限制登录的某一个时间的地点
⑷ 是否去加强cpu 和内存使用限制
⑤ 是否去打开磁盘配额
相当的用户策略将应用于整个站点,其它的策略可以被应用于个别用户。通常这些策略是由全体策略设置而且可以根据系统上数据和资源的敏感度而改变。
作为一个很棒的标准,它很可能是最好的且严格的策略,至少在开始时是。但如果需要出现一个松弛的策略,,也能够改变到此模式。比较开放的系统可能导致出现安全问题,但一个问题出现后它可以被很好地对待。
4.2 用户账号数据库——/etc/passwd
/etc/passwd文件是标准的Linux用户账号数据库。在/etc/passwd文件中系统上的每一个用户都有一个单一的一行项目。/etc/passwd文件包含用户和系统账号信息。在登录和被其他程序使用时需要此文件。
1. 此文件一行一个账号,每行用7个冒号分隔成几个字段
此文件中的各个条目有一个标准语法。有7个字段被冒号分开:
bcroft:x:502:504:bryan crofl:/home/bcroft:/bin/bash
第一字段:是用户账号id名
第二字段:是密码字段。 如果执行shadow密码,这个字段将包含一个’x’,或者包含用户的加密过的密码。
第三字段:uid字段。UID数字将是系统上各个账号唯一的。一个强制规定是他们的数字顺从500开始。UID号在100以下的账号通常是系统账号例如:LP,这些账号很少,如果有过的话,有个合法密码并且不打算作为一个登录账号使用。许多服务和daemon无论如何都需要有一个账号以便正常运转。注意:一个0号UID表示此用户是有特权的,也就是他们有超级用户访问权。
第四字段:GID字段。它指定用户登寻时的初始工作组。
第五字段:是GECOS或注释字段。有用户来此的真实姓名。一些实用程序,如finger,用此字段。
第六七字段:用户家目录并最终由login命令执行,通常是一个shell。(虽然它是应用程序或一个shell脚本)
2. 此文件拥有权限rw-r–r–
/etc/passwd的权限将永远是644,这是为了允许实用程序读此文件并去工作,并且更是为了防止非root用户增加或修改条目。
4.3 增加一个新用户账号
1.最普通的方法是用命令:useradd
语法:
useradd username [-p 用户密码] [-g 专用组]
参数:
表4.1 useradd 命令行选项
选项 |
描述 |
-c comment |
用户的注释 |
-d home-dir |
用来取代默认的 /home/username/ 主目录 |
-e date |
禁用账号的日期,格式为:YYYY-MM-DD |
-f days |
口令过期后,账号被禁用前要经过的天数(若指定了0,账号在口令过期后会被立刻禁用。若指定了-1,口令过期后,账号将不会被禁用)。 |
-g group-name |
用户默认组群的组群名或组群号码(该组群在指定前必须存在)。 |
-G group-list |
用户是其中成员的额外组群名或组群号码(默认以外的)的列表,用逗号分隔(组群在指定前必须存在)。 |
-m |
若主目录不存在则创建它 |
-M |
不要创建主目录 |
-n |
不要为用户创建用户私人组群 |
-r |
创建一个 UID 小于500的不带主目录的系统账号 |
-p password |
使用 crypt 加密的口令 |
-s |
用户的登录 shell,默认为 /bin/bash |
-u uid |
用户的 UID,它必须是独特的,且大于499。 |
命令useradd提供了一个为系统增加新用户的简单方法。
#useradd joshua -p EncrypteuHash
上面的命令将增加一个新用户到系统中,名字叫joshua且密码为EncrypteHash,以及设置用户的家目录,并建立用户专用组,也叫joshua。注意:那个加密的密码通常包含一个或更多“$”字符,它是shell变量代替的字符。它因此必须在单引号里封闭加密的密码以预防shell试图去扩充一个不存在的变量。
2.手动添加账号必须的步骤有:
⑴ 编辑/etc/passwd和/etc/group
添加账号可以用useradd命令添加,也可以手动添加。
使用vipw命令在/etc/passwd文件中添加一个新用户的条目:
Joshua:x:502:502:Joshhua m Hoffman:/home/joshua/bin/bash
使用vigr命令修改/etc/group文件:
joshua:x: 502:
⑵ 建立和组装家目录
建立新用户家目录和拷贝系统模板文件,模版文件在/etc/skel里查找。我们也必须将此目录及内的文件的所有权赋予给新用户。
#mkdir /home/joshua
#cp -a /etc/skel/. /home/joshua
⑶ 改变权限和所有权
#chown -r joshua. Joshua /home/jbhum
⑷ 设置账号密码
最后:我们必须给此账户一个密码,使用passwd命令
#passwd joshua
4.4 修改/删除账户
1.通过更改用户在/etc/passwd文件中的字段来修改删除帐户
⑴ 手动编辑/etc/passwd文件来修改删除帐户
使用vipw命令在/etc/passwd文件中手动编辑添加或删除用户相关条目。
⑵ 使用usermod命令来修改删除帐户
命令格式:usermod [options] username
你可以使用usermod命令去更改账户信息。有以下选项可供使用:
表4.2 usermod命令选项
选项 |
备注 |
-c <备注> |
更改备注字段,这里经常使用完整姓名 |
-d <家目录> |
修改用户登录时的家目录 |
-e<有效日期> |
修改账号有效日期,格式为月/日/年(后两位) |
-g<组> |
修改用户初始登录组,即所属组 |
-G<组[—]> |
修改用户初始所属附加组 |
-l<登录名称> |
修改登录名 |
-s<shell> |
修改用户的默认shell |
-u<uid> |
修改登录UID |
-p<密码> |
修改用户的密码 |
-L |
锁定用户密码,使此账户不能使用(也可以用在/etc/shadow文件中的密码部分前加“!”的方法来实现。) |
-U |
解除密码锁定。(也可以用在/etc/shadow文件中的密码部分前去掉“!”的方法来实现。) |
2.以下两个方法都可删除用户
⑴ 手动从/etc/passwd, /etc/shadow和 /etc/group文件中删除用户。
⑵ 使用userdel [-r] username命令。
userdel是从系统删除一个用户。你可以使用usermod –L命令谨慎地锁定用户的账户,从而推迟将用户的账号删除,直到你确定用户的家目录里没有被需要的文件时为止。
当用userdel命令删除一个账号时,你可以考虑使用“-r”选项,他代表递归删除用户的家目录,但是当将来用户被添加到系统时,可能引起文件所有权的问题
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87805.html