1.Linux中系统参数修改命令sysctl的使用讲解
2.linux下修改用户权限的方法
3.Linux系统中基本的用户管理方法
4.linux系统管理命令shutdown源码linux系统管理命令
Linux中系统参数修改命令sysctl的使用讲解
sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。命令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p (default /etc/sysctl.conf)
sysctl [-n] [-e] -a
常用参数的ETC修改源码意义:
-w 临时改变某个指定参数的值,如
sysctl -w net.ipv4.ip_forward=1
-a 显示所有的系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载
如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:
1) #echo 1 /proc/sys/net/ipv4/ip_forward
2) #sysctl -w net.ipv4.ip_forward=1
以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了
# service network restart
命令,所设置的值即会丢失,如果想永久保留配置,可以修改/etc/sysctl.conf文件
将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1
常见用法
修改(配置)方法有三种
临时生效2种
复制代码
代码如下:
# echo 1 /proc/sys/net/ipv4/ip_forward // 开启路由功能# sysctl -w net.ipv4.ip_forward=1 // 用此选项来改变一个sysctl设置
如果系统重启,或执行service network restart命令,娱乐源码分享所设置的值即会丢失
/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。
永久生效1种
复制代码
代码如下:
# vi /etc/sysctl.conf修改net.ipv4.ip_forward=0的值为1 // 打开数据包的转发功能
复制代码
代码如下:
# sysctl -p /etc/sysctl.conf // 重新载入/etc/sysctl.conf文件,如-p后未指定路径,则载入/etc/sysctl.conf指定的值在系统进入多用户模式之后被设定。并不是所有的变量都可以在这个模式下设定。
sysctl 变量的设置通常是字符串、数字或者布尔型。 (布尔型用 1 来表示'yes',用 0 来表示'no')。
复制代码
代码如下:
[root@Firewall sys]# sysctl -a //查看所有参数[root@Firewall sys]# sysctl net.core.wmem_max //查看指定的参数
net.core.wmem_max =
[root@Firewall sys]# sysctl net.core.wmem_max= //修改指定的参数
net.core.wmem_max =
实例
sysctl -a所看到的参数全部来自/proc/sys/目录下的文件内容,可以用grep加sort加ll的方法来查看与对应
复制代码
代码如下:
[root@Firewall sys]# pwd/proc/sys
[root@Firewall sys]# ll
total 0
dr-xr-xr-x 0 root root 0 Apr : crypto
dr-xr-xr-x 0 root root 0 May : debug
dr-xr-xr-x 0 root root 0 Apr : dev
dr-xr-xr-x 0 root root 0 Apr : fs
dr-xr-xr-x 0 root root 0 Apr : kernel
dr-xr-xr-x 0 root root 0 Apr : net
dr-xr-xr-x 0 root root 0 May : sunrpc
dr-xr-xr-x 0 root root 0 May : vm
复制代码
代码如下:
[root@Firewall netfilter]# pwd/proc/sys/net/netfilter
[root@Firewall netfilter]# sysctl -a|grep net.net|sort
net.netfilter.nf_conntrack_acct = 1
net.netfilter.nf_conntrack_buckets =
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_count =
net.netfilter.nf_conntrack_expect_max =
net.netfilter.nf_conntrack_generic_timeout =
net.netfilter.nf_conntrack_icmp_timeout =
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_max =
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_tcp_timeout_close =
net.netfilter.nf_conntrack_tcp_timeout_close_wait =
net.netfilter.nf_conntrack_tcp_timeout_established =
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =
net.netfilter.nf_conntrack_tcp_timeout_last_ack =
net.netfilter.nf_conntrack_tcp_timeout_max_retrans =
net.netfilter.nf_conntrack_tcp_timeout_syn_recv =
net.netfilter.nf_conntrack_tcp_timeout_syn_sent =
net.netfilter.nf_conntrack_tcp_timeout_time_wait =
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged =
net.netfilter.nf_conntrack_udp_timeout =
net.netfilter.nf_conntrack_udp_timeout_stream =
复制代码
代码如下:
[root@Firewall netfilter]# lltotal 0
-rw-r--r-- 1 root root 0 May : nf_conntrack_acct
-r--r--r-- 1 root root 0 May : nf_conntrack_buckets
-rw-r--r-- 1 root root 0 May : nf_conntrack_checksum
-r--r--r-- 1 root root 0 May : nf_conntrack_count
-rw-r--r-- 1 root root 0 May : nf_conntrack_expect_max
-rw-r--r-- 1 root root 0 May : nf_conntrack_generic_timeout
-rw-r--r-- 1 root root 0 May : nf_conntrack_icmp_timeout
-rw-r--r-- 1 root root 0 May : nf_conntrack_log_invalid
-rw-r--r-- 1 root root 0 May : nf_conntrack_max
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_be_liberal
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_loose
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_max_retrans
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_close
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_close_wait
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_established
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_fin_wait
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_last_ack
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_max_retrans
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_syn_recv
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_syn_sent
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_time_wait
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_unacknowledged
-rw-r--r-- 1 root root 0 May : nf_conntrack_udp_timeout
-rw-r--r-- 1 root root 0 May : nf_conntrack_udp_timeout_stream
复制代码
代码如下:
[root@Firewall core]# sysctl -a|grep net.core|sortnet.core.dev_weight =
net.core.message_burst =
net.core.message_cost = 5
net.core.netdev_budget =
net.core.netdev_max_backlog =
net.core.optmem_max =
net.core.rmem_default =
net.core.rmem_max =
net.core.somaxconn =
net.core.warnings = 1
net.core.wmem_default =
net.core.wmem_max =
net.core.xfrm_acq_expires =
net.core.xfrm_aevent_etime =
net.core.xfrm_aevent_rseqth = 2
net.core.xfrm_larval_drop = 1
复制代码
代码如下:
[root@Firewall core]# lltotal 0
-rw-r--r-- 1 root root 0 May : dev_weight
-rw-r--r-- 1 root root 0 May : message_burst
-rw-r--r-- 1 root root 0 May : message_cost
-rw-r--r-- 1 root root 0 May : netdev_budget
-rw-r--r-- 1 root root 0 May : netdev_max_backlog
-rw-r--r-- 1 root root 0 May : optmem_max
-rw-r--r-- 1 root root 0 May : rmem_default
-rw-r--r-- 1 root root 0 May : rmem_max
-rw-r--r-- 1 root root 0 Apr : somaxconn
-rw-r--r-- 1 root root 0 May : warnings
-rw-r--r-- 1 root root 0 May : wmem_default
-rw-r--r-- 1 root root 0 May : wmem_max
-rw-r--r-- 1 root root 0 May : xfrm_acq_expires
-rw-r--r-- 1 root root 0 May : xfrm_aevent_etime
-rw-r--r-- 1 root root 0 May : xfrm_aevent_rseqth
-rw-r--r-- 1 root root 0 May : xfrm_larval_drop
linux下修改用户权限的方法
一般我们日常碰到要修改用户权限的,往往是要么修改一下用户的gorupid,通过上面命令可以改;要么是把普通用户改成具有超级权限的用户,这个一般自己不能直接改,棋类网站源码只能是root或有root权限的用户才能帮你改,在/etc/passwd文件里面,找到对应userid那一行,将userid那一列你的id改成0,然后强制保存退出。这时候你的这个用户就有超级用户权限了。改用户的groupid也可以这样改。如果是改某个文件的属性,就比较简单了,直接用chmod命令就可以了,我一般直接后面接数字,如果要给rwx的权限,就给7,rw-,丫头源码怎样就是6,r--就是4(二进制的,对应x -1,w-2,r -4),比如要给某个文件用户自己rwx权限,用户group内 r-x的权限,其它人r--只读,那么用chmod命令就可以:
# chomd finename
修改权限:
1)管理用户(user)的工具或命令;
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的康乐主机源码用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多。
般如果你修改用户本身的权限,也没有太多好改的,一般用户创建用户(useradd)之后,用户就会有一个默认或指定的 userid和groupid. 一般对UNIX系统下的文件,都分为“user自己、usergroup、其它user”可以“读、写、执行”三类,用ls -la可以看到,如:
# ls -l
-rwxr-xr-x 1 root bin Jan zip
其中r表示可以 read/读,w表示可以 write/写,x表示可以 execute/执行。
userid一般都是唯一的,但你可以修改自己user的group信息,以加入需要的用户组里面访问特定的文件。
groupadd :添加用户组;
groupdel :删除用户组;
groupmod :修改用户组信息
2)管理用户组(group)的工具或命令;
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件。
Linux系统中基本的用户管理方法
用户管理的配置文件
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/ske1
登陆信息:/etc/motd /etc/issue
/etc/passwd文件格式
用户类型
Linux用户分为三种:
超级用户(root UID=0)
普通用户(UID -)
伪用户(UID 1-)
注意:root不一定是超级用户,但是UID=0的用户一定是超级用户。
伪用户
伪用户与系统和程序服务相关
bin daemon shutdown halt等,任何linux系统默认都有这些伪用户
mail news games apache ftp mysql及sshd等,与linux系统的进程相关
伪用户通常不需要或无法登陆系统
可以没有宿主目录
用户组
每个用户都至少属于一个用户组
每个用户组可以包括多个用户
同一个用户组的用户享有该组共有的权限
/etc/shadow文件格式
/etc/group文件格式
手工添加用户
分别在/etc/passwd 、/etc/group 和/etc/shadow文件中添加一笔记录
创建用户宿主目录
在用户宿主目录中设置默认的配置文件
设置用户初始密码
SetUID
思考:为什么普通用户可以更改密码?
SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。
范例:1.将touch命令授予SetUID权限
2.当vi命令呗授予SetUID权限
3.查找SetUID程序:
代码如下:
Find / -perm - –o –perm -
添加用户
useradd设置选项 用户名 -D 查看缺省参数
u:UID
g:缺省所属用户组GID
G:指定用户所属多个组
d:宿主目录
s:命令解释器shell
c:描述信息
e:指定用户失效时间
代码如下:
#useradd ksharpdabu //添加ksharpdabu这个账号
p#passwd ksharpdabu /修改ksharpdabu的密码
或者熟悉系统文件的,可以直接手动添加用户
用户组管理命令
添加用户组groupadd
代码如下:
groupadd -g webadmin
创建用户组webadmin ,其GID为
删除用户组:groupdel 组名
代码如下:
#groupdel webuser //删除webuser这个组
修改用户组星系 :groupmod
代码如下:
#groupmod -n apache webadmin
修改webadmin组名为apache
用户组管理命令
Gpasswd设置组密码及管理组内成员
-a添加用户到用户组
-d 从用户组中删除用户
-A设置用户组管理员
-r删除用户组密码
-R禁止用户切换为该组
修改用户信息
usermod
代码如下:
#usermod -G softgroup ksharpdabu
将用户ksharpdabu添加到softgroup用户组中
代码如下:
#usermod -l ksharpdabu -d /home/samlee –g webadmin Tom
将用户Tom的登陆用户名改为ksharpdabu,加入wenadmin组中,用户目录改为/home/ ksharpdabu
用户管理命令
pwk 检测/etc/passwd文件(锁定文件)
vipw 编辑/etc/passwd文件
id 查看用户id和组信息
finger 查看用户详细信息
su 切换用户(su –环境变量切换)
passwd –S 查看用户密码状态
who、w 查看当前登录用户信息
用户组管理命令
groups 查看用户隶属于哪些用户组
newgrp 切换用户组
grpck 用户组配置文件检测
chgrp 修改文件所属组
vigr 编辑/etc/group文件(锁定文件
用户组授权实例
授权用户jack和mary对目录/software有写权限
代码如下:
# groupadd softadm
p# usermod -G softadm jack
p# gpasswd -a mary softadm
p# chgrp softadm /software
p# chmod g+w /software
代码如下:
# ls -ld /software
pdrwxrwxr-x 2 root softadm Jul : /software
p# grep softadm /etc/group
psoftadm:::jack,mary
禁用和恢复用户
禁用
代码如下:
# usermod -L username
p# passwd -l username
恢复
代码如下:
# usermod -U username
p# passwd -u username
删除用户
userdel –r 用户名
-r:删除用户目录
手工删除:
使用find命令查找属于某个用户或者用户组的文件
Find选项-user、-uid、-group、-gid
对需要保留的文件进行移动和备份
对不需要的文件进行删除
清除用户文件中的相关表项
清除用户宿主目录
用户管理命令
change设定密码
-l 查看用户密码设置
-m 密码修改最小天数
-M 密码修改最大天数
-d 密码最后修改的日期
-l 密码过期后,锁定账户的天数
-E 设置密码的过期日期,如果为0,代表密码立即过期;如果为-1,代表密码永不过期
-W 设置密码过期前,开始警告的天数
启动或停用shadow功能
pwconv/pwunconv
grpconv/grpunconv
system-config-users
authconfig /etc/sysconfig/authconfig
批量添加用户
newusers命令 导入用户信息文件
pwunconv命令 取消shadow password功能
chpasswd命令 导入密码文件(密码文件格式: 用户名:密码)
pwconv命令 将密码写入shadow文件
实例:一次批量添加个用户
限制用户su为root:
代码如下:
# groupadd sugroup
p# chmod /bin/su
p# chgrp sugroup /bin/su
p# ls -l /bin/su
p-r-sr-x— 1 root sugroup Jan /bin/su
设定后,只有sugroup组中的用户可以使用su切换为root
代码如下:
# useradd helen
p# passwd helen
p# usermod -G sugroup helen //为helen增加su的权限
用sudo替代su:
在执行sudo命令时,临时成为root
不会泄露root口令
仅向用户提供有限的命令使用权限
配置文件:/etc/sudoers,编辑配置文件命令visudo
普通用户使用命令sudo。
格式:用户名(组名) 主机地址=命令(绝对路径)
系统弱密码测试工具John the ripper的使用方法;
代码如下:
# tar -xzvf john-1.7.6.tar.gz
p# cd john-1.7.6/run
p# make
破解用户ksharpdabu密码
代码如下:
# grep ksharpdabu /etc/passwd /test/ksharpdabu.passwd
p# grep ksharpdabu /etc/shadow /test/ksharpdabu.shadow
p# /test/john-1.6.6/run/unshadow /test/ksharpdabu.passwd
p/test/ksharpdabu.shadow /test/ksharpdabu.john
p# /test/john-1.6.6/run/john /test/ksharpdabu.john
linux系统管理命令shutdown源码linux系统管理命令
linux系统管理--htop命令的使用?1、Htop是一个非常高级的交互式的实时linux进程监控工具。它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。Htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它。
2、CentOS安装htop
#yum-yinstallhtop
3、截图
如何在linux上用命令实现用户和组的管理?
Linux上用命令实现本地用户和组的管理
本地用户和组:管理文件和进程等等
本地用户和组:
1)root:超级管理员系统创建的第一个账户
特点:
id为:0
家目录:/root
具有系统的完全控制权:小心使用。
#id
uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c
#
2)普通用户:不具有管理员权限
特点:
id范围:
=id=
家目录:/home/用户名
#idstudent
uid=(student)gid=(student)groups=(student),(wheel)
#
3)服务用户:为服务提供权限
特点:
id范围:
0id
家目录:应用程序服务目录
#idapache
uid=(apache)gid=(apache)groups=(apache)
#
如果是yum,rpm安装的软件:由rpm包中的脚本创建服务账户
Includeconf.modules.d/*.conf
#
#Ifyouwish。
Linux操作系统的基本功能3:创新能力
“如果你总是使用微软的开发工具,你一生只能做个操作人员。”这话一点都不假.linux是自由软件,而自由软件和非自由软的区别在于:
1.自由软件是开放的,成千上万的人可以检查这个软件,快速地找到并修改其错误码。
2.最终用户可以按照自己的意愿自定义自由软件,有特殊需要的用户也可以完全按照他们认为合适的方式定制自己的Linux。
3.自由软件为了防止重复发明,通过共享源代码和思想来节省很多工作量。
Linux操作系统的基本功能4:UNIX能力
人们所以选择Linux的又一个重要原因是在于它的UNIX兼容性。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,无偿地获得大量的应用程序,还可以任意地修改和补充它们。这对用户学习、了解UNIX操作系统的内核非常有益。可以说Linux为广大用户提供了一个在家里学习和使用UNIX操作系统的廉价的机会。