网站首页 > 博客文章 正文
---w: 用来显示当前登录到系统中的所有用户及其进程的信息。显示谁已登录,以及他们正在做什么活动。
参数:
-f:开启或关闭显示用户从何处登入系统。
-h: 不显示各栏位的标题信息列。
-l: 使用详细格式列表,此为默认值。
-s: 使用简洁格式列表,不显示用户登入时间、终端机阶段作业和程序所耗费的CPU时间。
-u: 忽略执行程序的名称以及该程序耗费CPU时间的信息。
-V: 显示版本信息。
例子:
w ##显示当前登录到系统上的所有用户
w user1 ##显示登录的user1用户相关信息;
w -f ##打开或关闭登录用户来源信息的显示;
w -h ##去掉各栏位的标题信息列的显示
w -u ##显示用户信息,不包括名称及其耗费的CPU时间的信息,则可以使用-u选项忽略该信息
w -s ##显示用户信息,不包含登录时间、终端机阶段作业和程序所耗费的CPU时间
---who:用于查看服务器系统中的当前使用者信息,包括用户ID、终端、上线时间、IP等;
参数:
-H: 显示各栏位的标题信息列;
-m: 此参数的效果和指定"am i"字符串相同;
-q: 只显示登入系统的帐号名称和总人数;
-s: 此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
-w: 显示用户的信息状态栏;
例子:
who ##显示当前登录系统的用户
who –H ##显示标题信息列
who am i ##只显示自己的用户信息
说明:w和who的区别是,w显示的信息更加详细,除了显示who命令的信息之外,还能够显示其他详细信息,具体含义如下:
up:从上次关机到重启消耗了多长时间
users:服务器用户数量
load average: 记录了服务器过去1分钟、5分钟、15分钟的负载情况
IDLE:从用户上一次任务结束后到现在的空闲时间
JCPU:此终端会话相关的进程所消耗总时间
PCPU:当前用户执行命令所占用的时间
WHAT:用户当前使用命令
---useradd(或adduser:): 新建用户账号
参数:
-u: 指定该账户的uid
-g: 指定该账户的主群组,修改passwd文件
-G: 指定该账户的次要群组,修改group文件
-M: 强制不要创建用户家目录
-m: 强制建立用户家目录
-d: 指定用户家目录的位置,不使用默认的位置
-s: 指定用户的shell,默认为/bin/bash
-c:指定用户的注释/描述信息。
-p:设置用户的加密密码。可以使用openssl等工具生成加密的密码哈希值。
-e: <有效期限> 指定帐号的有效期限
-f: <缓冲天数> 指定在密码过期后多少天,就关闭该帐号
例子:
##创建test的用户,同时创建默认家目录/home/test,指定bash shell;
useradd -m -s /bin/bash test
##创建test用户,并自动创建家目录temp,用户属于test1组
useradd -d /home/temp test -g test1 -s /bin/bash -m
##创建一个名为"testuser"的用户,同时创建家目录和设置初始密码
useradd -m -p $(openssl passwd -1 MyPassword) testuser
说明:useradd和adduser区别:
---useradd不会在/home下自动创建与用户名同名的用户目录,不会自动选择shell版本,
也没有设置密码,这个用户是不能登录的;
---adduser: 会在/home下自动创建与用户名同名的用户目录,会自动选择系统shell版本,会在创建时会提示输入密码.
---userdel(deluser): 删除用户账号
参数:
-r:删除用户的家目录和相关文件。
-f:强制删除用户,即使用户当前已登录或有运行的进程。
-Z:删除用户的SELinux安全上下文。
-h:仅从系统中删除用户账户,而不删除家目录。
-R:指定用户家目录的根路径。
例子:
userdel test ##删除test用户,但不会自动删除家目录;
userdel -r test ##删除test用户,同时删除用户的家目录;
userdel -f test ##强制删除一个名为"test"的用户,即使用户当前已登录或有运行的进程
userdel -h testuser ##删除用户名为test的用户,不删除其家目录;
---usermod: 用来修改用户的属性和配置
可以对用户的各种属性进行修改,如用户的用户名、用户ID、用户组ID、用户主目录、用户登录shell等。
参数:
-l: 修改用户的用户名
-u:变更用户UID
-c: 填写用户账户备注信息
-g: 变更用户所属组
-G: 变更扩展用户组
-s: 变更默认shell
-L: 锁定用户禁止其登陆
-U: 解锁用户允许登陆
-e: 账户到期时间
-f: 设置用户的密码过期时间
-d: -m -m与-d连用 可重新指定用户家目录并迁移旧数据
-a: –append将用户追加到-G选项提到的补充GROUPS上,而不将用户从其他组中删除
例子:
usermod -l new_username old_username ##修改用户的用户名
usermod -u new_userID username ##修改用户的用户ID
usermod -g new_groupID username ##修改用户的用户组ID
usermod -d new_directory username ##修改用户的用户主目录
usermod -s new_shell username ##修改用户的登录shell
usermod -e YYYY-MM-DD username ##设置用户的账户过期时间。
usermod -f days username ##设置用户的密码过期时间
usermod -L username ##锁定用户, 使用ssh无法登录,但是可以通过 su 命令切换到该用户
usermod -U username ##解锁用户
说明:要注意usermod -g和chgrp的区别;
前者是修改用户的属组,后者为修改文件的属组;
---chgrp: 直接的修改文件或文件夹的所属群组的信息
参数:
-c:效果类似“-v”参数,但仅会显示更改的部分;
-f:不显示错误信息;
-h:只对符号连接的文件作修改,而不是该其他任何相关文件;
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v:显示指令执行过程;
例子:
chgrp -v root aaa.txt ##修改aaa.txt文件 的组属性为 root
chgrp -fR root /home/data/ ##修改/home/data下所有文件及目录为root属组;
---id: 显示用户的ID以及所属群组的ID
参数:
-g: 显示用户所属群组的ID。
-G: 显示用户所属附加群组的ID。
-n: 显示用户,所属群组或附加群组的名称。
-r: 显示实际ID。
-u: 显示用户ID。
例子:
id ##显示当前用户id,属群组等详细信息;
id root ##显示root用户的id信息;
id -g ##仅显示属群组信息;
id -u ##仅显示用户id信息;
---groupadd: 新建组账号
cat /etc/group 查看用户组
参数:
-f:如果组名已存在,则强制创建新的组。
-g: GID:指定新组的GID(组ID)。
-K: KEY=VALUE:设置组的键值对属性。
-o:允许创建具有非唯一GID的组。
-p: PASSWORD:为新组设置密码。
-r:创建一个系统组,系统工作组的组ID小于500。
-R: CHROOT_DIR:在指定的根目录下执行命令。
-P:创建一个公共用户组。
例子:
sudo groupadd -g 5555 -p 123456 testgroup ##创建一个名为 testgroup,密码为 123456 的用户组
---groupdel: 删除组账号
参数:
-f, --force:强制删除用户组,即使该组还有用户存在。
例子:
sudo groupdel testgroup
sudo groupdel -f mygroup
---gpasswd用法: 用于将一个用户添加到组或者从组中删除。
是 Linux 下工作组文件 /etc/group 和 /etc/gshadow 管理工具
参数:
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
例子:
gpasswd groupname ##使用者暂时加入成为该组成员
gpasswd -A Mike groupname ##指定Mike 是 groupname 群组的管理员
gpasswd -a Mary groupname ##然后有权限添加其它用户进入groupname组;
gpasswd -a Allen groupname
说明:
gpasswd -a user_name group_name ##添加用户到一个新组,之前组仍存在;
usermod -G group_name user_name ##添加用户到一个组,会清空和覆盖之前的组;
---chmod: 设置文件或目录的权限
采用两种形式的权限表示方法.字符形式和数字形式。r、w、x权限字符可分别表示为八进制数字4、2、1,
表示一个权限组合时需要将数字进行累加。
--共有三级用户权限:文件所有者、文件所属组、其它用户;
--对应的权限有:r(4)、w(2)、执行(1);
参数:
格式如下 : [ugoa…][[±=][rwxX]…][,…]
-u: 表示该档案的拥有者
-g: 表示该档案的同组者
-o: 表示其他以外的人
-a: 表示这三者皆是
-: 表示取消权限
+: 表示增加权限
=: 表示唯一设定权限
-c: 若该档案权限确实已经更改,才显示其更改动作
-f: 若该档案权限无法被更改也不要显示错误讯息
-v: 显示权限变更的详细资料
例子:
chmod a+wr test.txt ##增加文件所有用户的读写权限;
或chmod 666 test.txt ##同上
##将两文件file1.txt 与 file2.txt 设置为可写,其它人不可写;
chmod ug+w,o-w file1.txt file2.txt
chmod u+x test.py ###把test.py文件 用户者增加可执行权限
chmod a+r -R test/* ##把test目录下所有文件设置为可读权限;
chmod 777 -R test/* ##把test目录下所有文件设置为全权限;
---chown:用于修改文件或目录的所有者,常与chmod一起使用
参数:
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
--from: 指定当前所有者的名称
--reference: 使用参考文件或目录的所有者和组
--help : 显示辅助说明
例子:
chown root test.sh ##把test.sh所有者设置为root;
chown testuser:testgrp file.txt ##把file.txt文件所有者设置为testuser, 组为testgrp;
##递归修改当前目录下的所有文件的所有者和组属性;
chown -R testuser:testgrp *
####把/home/test 的关联组设置为 512 (关联组ID),不改变所有者:
chown :512 /home/test
##使用--from参数来指定当前所有者的名称,并将其更改为新的所有者
sudo chown --from=oldowner newowner filename
##将一个文件或目录的所有者设置为另一个文件或目录的所有者
sudo chown --reference=source.txt target.txt
---chattr:修改文件系统的权限属性.
专门用来修改文件或目录的隐藏属性,只有 root 用户可以使用
参数:
chattr [+-=] [属性] 文件或目录名
+: 表示给文件或目录添加属性,
-: 表示移除文件或目录拥有的某些属性,
=: 表示给文件或目录设定一些属性。
i: 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,
也不能添加和修改数据;
如果对目录设置 i 属性,那么只能修改目录下文件中的数据,
但不允许建立和删除文件;
a: 如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;
如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;
u: 设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,
常用来防止意外删除文件或目录。
s: 和 u 相反,删除文件或目录时,会被彻底删除(直接从硬盘上删除,然后用 0 填充所占用的区域),不可恢复
例子:
1)给文件赋予 i 属性,禁止一切用户删除:
[root@localhost ~]# touch file.txt; ##创建一个文件;
[root@localhost ~]# chattr +i file.txt ##增加+i属性;
[root@localhost ~]# rm -rf file.txt ##无法删除;
[root@localhost ~]# lsattr file.txt
说明:ls 查看不到其,属性,只能通过lsattr查看;
设置有 i 属性的文件,即便是 root 用户,也无法删除和修改数据。
2)为目录赋予 i 属性,目录下不能创建和删除新建文件,但可以修改文件内容
[root@localhost ~]# mkdir dtest ###建立测试目录
[root@localhost dtest]# touch dtest/abc ##再建立一个测试文件abc
[root@localhost ~]# chattr +i dtest ###给目录赋予i属性
[root@localhost ~]# cd dtest
[root@localhost dtest]# touch bed ##无法创建"bcd",权限不够,dtest目录不能新建文件
touch: cannot touch 'bed':Permission denied
[root@localhost dtest]# echo 11>>abc
[root@localhost dtest]# cat abc ##可以修改文件内容
11
[root@localhost dtest]# rm -rf abc ###无法删除"abc",权限不够
rm: cannot remove 'abc': Permission denied
说明:一旦给目录设置 i 属性,即使是 root 用户,也无法在目录内部新建或删除文件,但可以修改文件内容。
给设置有 i 属性的文件删除此属性也很简单,只需将 chattr 命令中 + 改为 - 即可。
3)增加a 属性的作用,只能增加,不能删除和修改:
root@localhost:~/dtest# touch abc ##新创建一个普通文件;
root@localhost:~/dtest#chattr +a abc ##增加+a属性;
root@localhost:~/dtest# echo "heloo" >> abc ##追加文件内容;
root@localhost:~/dtest# echo "world" >> abc ##追加文件内容
root@localhost:~/dtest# cat abc ##查看文件内容;
heloo
world
root@localhost:~/dtest# rm -rf abc ##删除文件;
rm: cannot remove 'abc': Operation not permitted ##操作不允许
root@localhost:~/dtest# echo "11111" > abc ##修改文件内容;
-bash: abc: Operation not permitted ##操作不允许
说明: 通常情况下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目录的隐藏属性,很容易导致系统无法启动。
---su:切换用户。
一般用法:su username.
三种方式切换到root的命令:su,su -和su - root
--- sudo: 是 Linux 系统中一种很常用的权限管理机制。
允许非 root 用户以特定的身份执行特定的命令。
sudo 命令通过 /etc/sudoers 配置文件实现。
参数:
-l 列出当前用户所拥有的权限
-E 保持当前用户的环境变量
-H 设置 HOME 环境变量为目标用户的主目录
-u 以指定用户运行命令
-k 结束密码有效期限,即下次再执行时需要重新输入密码
-- 停止解析命令行参数,即之后命令不再作为其控制参数
例子:
sudo -i ##获取管理员权限;
sudo -l ##查看管理员列表;
sudo cp aaa.sh /opt/ ##获取root权限copy 文件;
---passwd: 用于在Linux系统上设置用户密码
参数:
-l:锁定用户账户,禁止用户登录。
-u:解锁用户账户,允许用户登录。
-d:删除用户密码,允许用户无密码登录。
-e:强制用户在下次登录时更改密码。
-S:显示用户密码的状态信息,如密码最近更改的日期、密码过期日期等。 -W:设置密码过期警告天数。当密码过期前指定天数时,用户在登录时会收到密码过期的警告。
-x:设置密码的最大使用期限,即密码在多少天后过期。
-n:设置密码的最小使用期限,即密码必须在多少天后才能更改。
-i:设置密码不活动期限,即用户在多少天不登录后,密码将被禁用。
例子:
passwd ##更改当前登录用户的密码
passwd Mike ##更改用户"Mike"的密码
passwd -l john ##锁定用户"john"的账户,禁止登录
passwd -u john ##解锁用户"john"的账户,允许登录
passwd -d john ##删除用户"john"的密码,允许无密码登录
passwd -e john ##强制用户"john"在下次登录时更改密码
说明:执行passwd命令通常需要root或sudo权限,以便执行特权操作
---chpasswd : 是批量更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中。
参数:
-e:输入的密码是加密后的密文;
-h:显示帮助信息并退出;
-c: 检查密码的有效性;
-m:当被支持的密码未被加密时,使用MD5加密代替DES加密。
例子:
#cat user.txt
user1:password1
user2:password2
#chpasswd < user.txt
--- export: 用于设置或显示环境变量
参数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
例子:
export -p | grep PWD ##查找PWD环境变量的定义 ;
export AA=123 ##定义环境变量AA;
export -p | grep AA
unset AA ##取消环境变量AA;
export -p | grep AA
猜你喜欢
- 2024-10-02 K8s 网络问题自己能解决吗?(k8s网络不稳定)
- 2024-10-02 重学计算机组成原理(七)- 程序无法同时在Linux和Windows下运行
- 2024-10-02 AOP编程_Android优雅权限框架(2)Demo完全解析
- 2024-10-02 微信小程序云数据库update更新数据为0问题解决
- 2024-10-02 su切换用户:su failed to execute /bin/bash;Permission denied
- 2024-10-02 大数据------安装错误集锦(详细解决教程)
- 2024-10-02 gradle4.1后not resolve com.android.tools.build:gradle:3.0.1
- 2024-10-02 纳税申报系统常见问题(纳税申报系统常见问题有哪些)
- 2024-10-02 mediaDevices.getUserMedia提示DOMException:Permission denied by
- 2024-10-02 终于有人把所有的Java异常处理方法给总结出来了
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)