第7讲 Linux用户管理.docx

上传人:b****5 文档编号:29950259 上传时间:2023-08-03 格式:DOCX 页数:16 大小:136.64KB
下载 相关 举报
第7讲 Linux用户管理.docx_第1页
第1页 / 共16页
第7讲 Linux用户管理.docx_第2页
第2页 / 共16页
第7讲 Linux用户管理.docx_第3页
第3页 / 共16页
第7讲 Linux用户管理.docx_第4页
第4页 / 共16页
第7讲 Linux用户管理.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

第7讲 Linux用户管理.docx

《第7讲 Linux用户管理.docx》由会员分享,可在线阅读,更多相关《第7讲 Linux用户管理.docx(16页珍藏版)》请在冰豆网上搜索。

第7讲 Linux用户管理.docx

第7讲Linux用户管理

第7讲Linux用户管理

用户管理配置文件:

2

用户信息文件:

/etc/passwd2

密码文件:

/etc/shadow2

手工添加用户的步骤:

3

用户组的信息:

/etc/group3

新用户配置文件目录:

/etc/skel3

登录信息文件:

/etc/motd4

添加用户:

4

useradd选项用户名–D查看缺省参数4

passwd用户名(-d)空密码4

SetUID(4)(SUID):

U=user4

修改用户信息:

5

useradd5

usermodmodformodify5

userdeldelfordelete6

用户组管理命令:

6

groupadd添加用户组6

groupmod-n新组名旧组名6

groupdel删除组6

gpasswd(UNIX不支持,AIX、Solaris、HP-UX)6

用户授权实例:

7

用户管理命令:

7

管理员授权sudo:

8

案例:

限制用户su为root:

10

用户授权案例:

授权用户jack和mary对目录/software有写权限10

用户管理配置文件:

在linux中在命令模式下写的命令,一般只是当前生效。

只有写入配置文件后才能长期有效

帮助类型:

命令的帮助1、配置文件的帮助5、

如果想得到命令或配置文件的帮助,先用whereis查看命令或配置文件的查看帮助顺序号

然后用:

man顺序号命令或配置文件

用户信息文件:

/etc/passwd

查看系统所有用户:

vi/etc/passwd

每个用户的信息占一行:

account:

password:

UID:

GID:

GECOS:

directory:

shell

例如root用户:

root:

x:

0:

0:

root:

/root:

/bin/bash

统计用户数:

wc-l/etc/passwd

root-用户名

x-密码位(并没有存放真正的密码)

UID-UserID用户数字标识,ID=0就是管理员

超级用户:

root–UID=0;普通用户:

UID:

500-60000;伪用户:

UID:

1-499

伪用户:

a.不能登录系统命令解释器为/sbin/nologin,b.大多是没有宿主目录

GID-GroupID缺省用户组标识

用户组:

同样类型的用户集合

1、每个用户必须有至少一个用户组

添加用户没指定用户组,系统会缺省创建一个和用户同名的组

功能组webadmin、组织组project

2一个用户可以属于多个组

3、授权:

对用户组授权就是对组内成员授权

GECOS-描述建议写描述jacklee"project01lisi"

directory-用户宿主目录root-/rootuser-/home/username

shell-命令解释器/bin/bash

密码文件:

/etc/shadow

例如:

root:

$1$aYsb7lwt$xi5CNJbidxZ9leZBuyT4u.:

15103:

0:

99999:

7:

:

:

Root:

用户名

$1$aYsb7lwt$xi5CNJbidxZ9leZBuyT4u:

密码的密文

15103:

密码最后修改时间(天)

0:

密码最小修改时间(天)

99999:

密码最大修改时间(天)限定用户定期更改密码

7:

警告时间(天)

注:

最大间隔时间和警告时间配合使用

注:

/etc/passwd里存放的是用户名的信息,系统登录时检测里面的用户名

/etc/shadow里存放的是用户的密码信息,系统登录时检测里面的密码

将/etc/shadow里的密码回写到/etc/passwd里用命令:

pwunconv

将/etc/passwd里的密码写到/etc/shadow里用命令:

pwconv

范例:

[root@localhost~]#grepshaolin/etc/passwd/etc/shadow

/etc/passwd:

shaolin:

x:

501:

501:

:

/home/shaolin:

/bin/bash

/etc/shadow:

shaolin:

$1$ExCbqRpk$ZTzt9Ikkipft98Zy5S7om0:

15104:

0:

99999:

7:

:

:

[root@localhost~]#pwunconv

[root@localhost~]#grepshaolin/etc/passwd/etc/shadow

/etc/passwd:

shaolin:

$1$ExCbqRpk$ZTzt9Ikkipft98Zy5S7om0:

501:

501:

:

/home/shaolin:

/bin/bash

grep:

/etc/shadow:

Nosuchfileordirectory

[root@localhost~]#pwconv

[root@localhost~]#grepshaolin/etc/passwd/etc/shadow

/etc/passwd:

shaolin:

x:

501:

501:

:

/home/shaolin:

/bin/bash

/etc/shadow:

shaolin:

$1$ExCbqRpk$ZTzt9Ikkipft98Zy5S7om0:

15110:

0:

99999:

7:

:

:

[root@localhost~]#

手工添加用户的步骤:

1、写入用户信息到/etc/passwd

sheldon:

x:

510:

3:

ftpadminwangwu:

/home/sheldon:

/bin/bash

2、写入密码信息到/etc/shadow

sheldon:

:

15109:

0:

99999:

7:

:

:

3、创建用户宿主目录

mkdir/home/sheldon

宿主目录:

权限为700,所有者为用户,所属组为用户的缺省组

chmod700/home/sheldon;chownsheldon/home/sheldon;chgrpsys/home/Sheldon

用户组的信息:

/etc/group

例如:

sys:

x:

3:

root,bin,adm

sys-组名(必须有含义)

x-组的密码位(组密码的作用:

当一个用户不是组内成员还想声明具有组权限时使用)

3-组ID

root,bin,adm-组内成员列表

查看一个属于哪些用户组的命令:

groups用户名

新用户配置文件目录:

/etc/skel

一般给新添加的用户所发的信息文件都放在/etc/skel.同时这个信息文件发送到新添加用户的宿主目录下。

范例:

[root@localhostskel]#ls

rd

[root@localhostskel]#catrd

jfkjdkfjskjfsljfkdjsfkljsakfjdsjfkldsjf

[root@localhostskel]#useraddqian

[root@localhostskel]#ls/home/qian

rd

[root@localhostskel]#cat/home/qian/cd

cat:

/home/qian/cd:

Nosuchfileordirectory

[root@localhostskel]#

登录信息文件:

/etc/motd

用户成功登录后显示信息

范例:

[root@localhostetc]#vi/etc/motd

hello

welcometo

~

~

~

~

~

"/etc/motd"[readonly]2L,35C

添加用户:

useradd选项用户名–D查看缺省参数

-uUID用户数字标识,ID=0就是管理员

-ggroup缺省组*

-G指定用户所属的其他组

-dhomedirectory宿主目录

-sshell命令解释器

-ccomment描述*

-eexpire失效时间yyyy/mm/dd

passwd用户名(-d)空密码

SetUID(4)(SUID):

U=user

特殊的权限为s,4为SetUID的权限号

当一个可执行文件具有SetUID权限,用户执行时会以这个文件所有者身份执行。

linux系统中默认所有的命令所有者都是root

例如:

touch授予(取消)SetUID(4)

chmodu+stouch或chmod4755touch

chmodu-stouchchmod755touch

范例:

[mary@localhost~]$touchfile01

[mary@localhost~]$ls-lfile01

-rw-rw-r--1marymary005-1519:

36file01

[root@localhost~]#chmodu+s/bin/touch

[root@localhost~]#ls-l/bin/touch

-rwsr-xr-x1rootroot422842010-03-01/bin/touch

[mary@localhost~]$touchfile02

[mary@localhost~]$ls-lfile02

-rw-rw-r--1rootmary005-1519:

40file02

[mary@localhost~]$ls-l/bin/touch

-rwsr-xr-x1rootroot422842010-03-01/bin/touch

SetGID:

当一个可执行文件具有SetGID,那么用户执行文件时调用用户组的身份时会以文件所属组的身份执行

创建文件默认的所属组就是用户的缺省组SetGID

(2)G=group

chmodg+schmod2755//这里的2是SetUID授予所有者的权限号

chmodu+s,g+schmod6755////这里的6是SetUID授予所属组的权限号

[root@localhost~]#chmod6755/bin/touch

[root@localhost~]#ls-l/bin/touch

-rwsr-sr-x1rootroot422842010-03-01/bin/touch、

这的0022中的第一0就是特殊权限位。

特殊权限有三个:

SetUID(4),所有者

SetGID

(2),所属组

粘着位(-1)其他人

同时设置SetUID(4),SetGID

(2)可以写成:

chmodu+s,g+s或chmod6755

用find–perm权限(4000)//来查找那些命令授予了777(setUID权限和SetGID)权限

范例:

find/-perm-4000-o-perm-2000

粘着位t

(1):

当权限为777的目录被授予粘着位,用户只能在此目录下删除自己是所有者的文件

用法和SetUID和SetGID一样。

范例:

[root@localhost~]#mkdir/perm

[root@localhost~]#touch/perm/testfile

[root@localhost~]#chmod777/perm

[root@localhost~]#ls-ld/perm

drwxrwxrwx2rootroot4096May1814:

42/perm

[root@localhost~]#ls-l/perm/testfile

-rw-r--r--1rootroot0May1814:

42/perm/testfile

[root@localhost~]#

[root@localhost~]#su-leon

-bash-3.2$rm/perm/testfile

rm:

removewrite-protectedregularemptyfile`/perm/testfile'?

y

-bash-3.2$exit

logout

[root@localhost~]#ls-ld/tmp

drwxrwxrwt22rootroot4096May1813:

59/tmp

[root@localhost~]#umask

0022

[root@localhost~]#ls-ld/perm

drwxrwxrwx2rootroot4096May1814:

42/perm

[root@localhost~]#touch/perm/testfile

[root@localhost~]#chmodo+t/perm

[root@localhost~]#ls-ld/perm

drwxrwxrwt2rootroot4096May1814:

46/perm

[root@localhost~]#su-leon

-bash-3.2$rm/perm/testfile

rm:

removewrite-protectedregularemptyfile`/perm/testfile'?

y

rm:

cannotremove`/perm/testfile':

Operationnotpermitted

-bash-3.2$touch/perm/leonfile

-bash-3.2$rm/perm/leonfile

修改用户信息:

useradd

usermodmodformodify

usermod和useradd选项一样

-l改变用户名usermod-l新用户名旧用户名

例如:

usermod–lsamlee–d/home/samlee–glampbrotherliming

将用户liming的登录名改为samlee,加入到lampgbrotheer组中,用户目录改为/home/samlee

-G把用户添加到用户组usermod-G组名用户名

例如:

usermod–Gsoftgroupsamlee//将用户samlee添加到softgroup用户组中

userdeldelfordelete

-r删除用户的同时删除宿主目录

/etc/passwd/etc/shadow/etc/group

/home/username

使用find命令查找属于某个用户或用户组的文件

find–user用户名或find–group用户组名

用户组管理命令:

groupadd添加用户组

例如:

groupaddwebadmin

groupmod-n新组名旧组名

例如:

groupmod–napachewebadmin//修改webadmin组名为apache

groupdel删除组

groupdel用户组名

gpasswd(UNIX不支持,AIX、Solaris、HP-UX)

设置组密码:

gpasswd组名

保存组的密码的地方:

/etc/gshadow

ftpadmin:

$1$LT50t8ON$EyjKT2Ns3B1EohAIc77dJ1:

:

组名密码组管理员组内成员

groups查看用户隶属哪些组

groups用户名

id查看用户UID、缺省组、隶属哪些组

id用户名

newgrp切换缺省组或加入组

添加用户到用户组

gpasswd-a用户名组名add

/etc/sysconfig/i18nLANG=""

从组中删除用户

gpasswd-d用户名组名delete

设置组管理员

gpasswd-A用户名组名Administrator

grep用户名/etc/gshadow确认管理员

删除组密码gpasswd-r组名

限制用户登录:

passwd-l用户名lock//实际就是把用户的密码改了

或:

usermod–L用户名

解除用户登录:

passwd-u用户名unlock

或:

username–U用户名

用户授权实例:

授权一个用户sam对/website有写权限

chownsam/website

授权多个用户leon、john对/website有写权限

原理:

改变/website所属组,把用户添加到所属组,对组授权

groupaddwebadmin添加新的用户组

chgrpwebadmin/website改变所属组

chmodg+w/website授权组有写权限

gpasswd-aleonwebadmin

gpasswd-ajohnwebadmin添加用户到所属组

用户sam对/script/testsuid.sh有执行权限

Chmod755/script/testsuid.shrx

Chmod755/scriptrx

用户zhangsan有写权限,lisi有读写权限,wangwu有读执行权限……ACL访问控制列表

用户管理命令:

pwck:

检测/etc/passwd,/etc/shadow两个文件是否有错误信息

grpck:

检测/etc/group/etc/gshadow两个文件是否有错误信息

newgrp组名//切换用户组必须是组内成员

范例:

id用户名//查看用户UID和组信息

finger用户名//查看用户详细信息

例如:

root@localhost~]#fingershaolin

Login:

shaolinName:

(null)

Directory:

/home/shaolinShell:

/bin/bash

LastloginMonMay1618:

40(CST)ontty2//该用户最后一次登录时间

Nomail.//邮件信息

NoPlan.//计划信息

[root@localhost~]#

su用户名//切换用户(su–用户名环境变量切换)

passwd–S用户名//查看用户密码状态

who//查看当前登录用户信息

管理员授权sudo:

配置:

visudo配置文件:

/etc/sudoers

格式:

用户名本机地址=命令

(%组名)(IP地址)(绝对路径)多个命令逗号分隔

用户执行:

sudo授权命令

-l查看有哪些授权命令

1、授权用户可以以root身份执行命令

2、授权命令可以具体到选项和参数

leon192.168.15.79=/sbin/shutdown-hnow

范例:

给用户u1授权添加用户的命令:

[root@localhost~]#whichuseradd

/usr/sbin/useradd

[root@localhost~]#visudo

93#%userslocalhost=/sbin/shutdown-hnow

94zhuangql192.168.15.102=/usr/sbin/useradd//在visudo里的最后一行添加此内容后保存退出

95

[root@localhost~]#su–zhuangql

[zhuangql@localhost~]$sudo–l

Userzhuangqlmayrunthefollowingcommandsonthishost:

(root)/usr/sbin/useradd//zhuangql用户以root用户的身份执行useradd命令

[zhuangql@localhost~]$sudo/usr/sbin/useraddzhuangql1

[zhuangql@localhost~]$

apache授权案例:

1、修改配置文件

有三种方法:

a.设置用户为配置文件的所有者chown

b.改变所属组,把用户加入组,授予组w权限

c.visudo:

用户密码本机地址(IP地址)=/bin/vi/etc/httpd/conf/httpd.conf

2、服务启动脚本控制

/etc/rc.d/init.d/httpdstart/reload/status/configtest

configtest检测配置文件语法错误

3、更新网页

/var/www/html授权有写权限chmodu=w/var/www/html

代码如下:

1.2.[root@localhost~]#/etc/rc.d/init.d/httpdstatus

httpd(pid3914)isrunning...

[root@localhost~]#visudo

94zhuangql192.168.15.102=/usr/sbin/useradd

95zhuangql192.168.15.102=/bin/vi/etc/httpd/conf/httpd.conf,/etc/rc.d.init.d/httpdstart,/etc/rc.d.init.d/httpdreload,/etc/rc.d.init.d/httpdstatus,/etc/rc.d.init.d/httpdconfigtest//在visudo里的最后一行添加此内容

[root@localhost~]#su-zhuangql

[zhuangql@localhost~]$sudo/bin/vi/etc/httpd/conf/httpd.conf

[sudo]passwordforzhuangql:

[zhuangql@localhost~]$sudo–l

Userzhuangqlmayrunthefollowingcommandsonthishost:

(root)/usr/sbin/useradd

(root)/bin/vi/etc/httpd/conf/httpd.conf

[zhuangql@localhost~]$sudo/bin/vi/etc/httpd/conf/httpd.conf,//执行此命令后zhuangql可以修改http.conf中的内容

[zhuangql@localhost~]$sudo/etc/rc.d/init.d/httpdstart

Startinghttpd:

[zhuangql@localhost~]$sudo/etc/rc.d/init.d/httpdreload

Reloadinghttpd:

[OK]

[zhuangql@localhost~]$

3.chownzhuangql/var/www/html

案例:

限制用户su

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1