Linux用户与权限来啦!


前言

今天给大家介绍一下Linux中的用户与权限


一、用户知识点

基于账号的访问控制
账户类别:用户账号、组账号
识别方式:UID、GID
用户账号
超级用户root、系统用户、普通用户
组账号
基本组(私有组)
附加组(从属组)

二、用户及权限的配置文件

1./etc/passwd

保存用户帐号的基本信息
每个用户记录一行,以:分割为7个字段
字段1:用户帐号的名称
字段2:密码字串或占位符 x
字段3:用户帐号的UID号
字段4:所属基本组的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell程序的路径

2./etc/group

保存组帐号的基本信息
每个组记录一行,以:分割为4个字段
字段1:组帐号的名称
字段2:密码占位符 x
字段3:组帐号的GID号
字段4:本组的成员用户列表

3./etc/gshadow

保存组帐号的管理信息
每个组记录一行,以:分割为4个字段
字段1:组帐号的名称
字段2:加密后的密码字符串
字段3:本组的管理员列表
字段4:本组的成员用户列表

三、用户及权限的操作命令

1.用户操作命令

useraddユーザーの追加
形式:useradd [オプション] ...ユーザー名
共通のコマンドオプション
-u:UIDタグ番号を
指定-d:ホームディレクトリ(ホームディレクトリ)を指定します。デフォルトは/ home / user nameです。-
G:所属する追加グループを指定し
ます。 s:指定されたユーザーのログインインタープリター

[root@localhost ~]# useradd nsd01
[root@localhost ~]# grep nsd01 /etc/passwd
[root@localhost ~]# id nsd01
[root@localhost ~]# useradd nsd02
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# useradd -u 1200 nsd03
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# useradd nsd04
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# ls /home/
[root@localhost ~]# useradd -d /opt/nsd05 nsd05
[root@localhost ~]# ls /home/
[root@localhost ~]# ls /opt/
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# cat /etc/shells 
[root@localhost ~]# useradd -s /sbin/nologin nsd06
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# groupadd abc
[root@localhost ~]# useradd -G abc nsd07
[root@localhost ~]# id nsd07
[root@localhost ~]# useradd -G abc nsd08

usermod modify user
形式:usermod [options] ...ユーザー名
共通のコマンドオプション
-l:ユーザーアカウントのログイン名を変更
-u:ユーザーID
-d:ホームディレクトリパス
-s:ログインインタープリター
-G:追加グループ//リセット追加グループ

[root@localhost ~]#  usermod -d /opt/nsd06 nsd06
[root@localhost ~]#  grep nsd /etc/passwd
[root@localhost ~]#  ls /opt/nsd06
[root@localhost ~]#  usermod -u 1500 nsd08
[root@localhost ~]#  grep nsd /etc/passwd
[root@localhost ~]#  id nsd08
[root@localhost ~]#  groupadd tarena
[root@localhost ~]#   usermod -G tarena nsd08
[root@localhost ~]#   id nsd08

passwdコマンド(ユーザーのパスワードを設定)の
形式:passwd [オプション] ...ユーザー名
共通のコマンドオプション
-stdin:標準入力(パイプなど)からパスワードを取得します。

[root@localhost ~]#   passwd nsd01
[root@localhost ~]#   su - nsd01
[root@localhost ~]#  passwd nsd01
[root@localhost ~]#   passwd nsd02
[root@localhost ~]#  echo 123 | passwd --stdin nsd03

userdelユーザーの削除
形式:userdel [-r]ユーザー名
-rオプションを追加すると、ホームディレクトリ/ユーザーメールも削除されます

[root@localhost ~]# userdel nsd01
[root@localhost ~]# ls /home/

[root@localhost ~]# rm -rf   /home/nsd01/
[root@localhost ~]# userdel  -r nsd02
[root@localhost ~]# ls /home/
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

2.権限の表示と権限の設定

アクセス方法(権限)-read:
コンテンツの読み取りを
許可するr -write:コンテンツの変更を許可するw
-executable:実行と切り替えの実行を
許可するx 権限適用可能なオブジェクト(属性)-owner
:このファイルを所有する/ディレクトリのユーザー-user u-
グループに属する:このファイル/ディレクトリを所有するグループ-group g-
その他のユーザー:所有者と所属グループ以外のユーザー-other o

ls -lコマンドを使用し
ます-ls -ldファイルまたはディレクトリ...で
始まる-:テキストファイルdで始まる:l:で始まるディレクトリ:ショートカット
[root @ localhost〜]#ls -ld / etc /
[root @ localhost〜]# ls -l / etc / passwd
[root @ localhost〜]#ls -l / etc / shadow

[root @ localhost〜]#ls -ld / home / student

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

一般的なエラーメッセージ:アクセス許可が拒否されました:アクセス許可が不十分です
chmodコマンドを使用してください
– chmod [-R]属性±=アクセス許可カテゴリドキュメント...
[-R]:アクセス許可を再帰的に設定します

[root@localhost ~]# mkdir /nsd01
[root@localhost ~]# ls -ld /nsd01/
[root@localhost ~]# chmod u-w /nsd01
[root@localhost ~]# ls -ld /nsd01/
[root@localhost ~]# chmod u+w /nsd01
[root@localhost ~]# ls -ld /nsd01/
[root@localhost ~]# chmod g+w /nsd01
[root@localhost ~]# ls -ld /nsd01
[root@localhost ~]# chmod g=r /nsd01
[root@localhost ~]# ls -ld /nsd01
[root@localhost ~]# chmod o=---  /nsd01
[root@localhost ~]# ls -ld /nsd01
[root@localhost ~]# chmod u=rwx,o=rx /nsd01
[root@localhost ~]# ls -ld /nsd01
[root@localhost ~]# chmod u=rwx,g=rx,o=rx /nsd01
[root@localhost ~]# ls -ld /nsd01
[root@localhost ~]# chmod ugo=rwx  /nsd01
[root@localhost ~]# ls -ld /nsd01

3.追加の権限

追加の権限(特別な権限)
Set GID
はグループのxビットを占有します(グループ)は
、グループにx権限があるかどうかに応じて、sまたはSとして表示され
ます。ディレクトリに対して有効です
。SGID権限を持つディレクトリでは、新しいドキュメントがこれを自動的に継承しますグループID

  • 子ドキュメントが親ディレクトリのグループIDを自動的に継承するようにします
	[root@A ~]# mkdir /nsd07
	[root@A ~]#  chmod g+s /nsd07
	[root@A ~]# chmod g-s /nsd07
	[root@A ~]# chmod g-x  /nsd07
	[root@A ~]# chmod g+s /nsd07
	[root@A ~]# chmod g+x /nsd07
	[root@A ~]# chown :tarena /nsd07
	[root@A ~]#  mkdir /nsd07/aa
	[root@A ~]#  mkdir /nsd08
	[root@A ~]#  chown :tarena /nsd08
	[root@A ~]# mkdir /nsd08/bb
	[root@A ~]# chmod g+s /nsd08
	[root@A ~]#  mkdir /nsd08/cc
	[root@A ~]# touch /nsd08/a.txt
	[root@A ~]# ls -l /nsd08/a.txt

Set UID

所有者のx位置に添付されます-所有者の機関IDは
実行可能ファイルに適したものになります。SetUIDにより、ユーザーはファイル所有者のIDといくつかの権限を持つことができます

[root@A ~]# /usr/bin/mkdir  /opt/haha
[root@A ~]# ls /opt/
[root@A ~]# cp /usr/bin/mkdir /usr/bin/xixidir
[root@A~]# ls /usr/bin/xixidir
[root@A ~]# /usr/bin/xixidir  /opt/abc
[root@A ~]# ls /opt/
[root@A ~]# chmod u+s  /usr/bin/xixidir 
[root@A ~]# ls -l  /usr/bin/xixidir
[root@A ~]# su - zhangsan
[zhangsan@A ~]$ /usr/bin/mkdir   dc01
[zhangsan@A ~]$ ls -l 
[zhangsan@A ~]$ /usr/bin/xixidir  dc02
[zhangsan@A ~]$ ls -l
[zahngsan@A ~]$ exit

スティッキービットが
他の人のx ビットにアタッチされている-他の人の
アクセス許可IDがtに変わる-
オープンwアクセス許可を持つディレクトリに適しており、ユーザーがw書き込みアクセス許可を悪用するのを防ぐことができる(他の人のドキュメントの削除は禁止されている)

[root@A ~]# mkdir  /nsd09
[root@A ~]#  ls -ld /nsd09
[root@A ~]#  chmod 777 /nsd09
[root@A ~]#  ls -ld /nsd09
分别切换用户lisi,用户zhangsan
[lisi@A ~]$ touch /nsd09/lisi.txt
[lisi@A ~]$ ls /nsd09/
[zhangsan@A ~]$ touch /nsd09/zhangsan.txt
[zhangsan@A ~]$ ls /nsd09
[lisi@A ~]$ rm -rf /nsd09/zhangsan.txt                      //删除成功
[zhangsan@A ~]$ rm -rf  /nsd09/lisi.txt                     //删除成功
    
[root@A ~]#  chmod o+t /nsd09
[root@A ~]# ls -ld /nsd09
分别切换用户lisi,用户zhangsan
[lisi@A ~]$ touch /nsd09/lisi.txt
[lisi@A ~]$ ls /nsd09/
[zhangsan@A ~]$ touch /nsd09/zhangsan.txt
[zhangsan@A ~]$ ls /nsd09
[lisi@A ~]$ rm -rf /nsd09/zhangsan.txt                      //删除失败
[zhangsan@A ~]$ rm -rf  /nsd09/lisi.txt                     //删除失败

4.acl権限

aclアクセス制御リスト
?aclアクセスポリシー
-個々のユーザーと個々のグループに独立した権限を設定できます-
ほとんどのマウントされたEXT3 / 4およびXFSファイルシステムがデフォルトでサポートされています

setfaclおよびgetfaclコマンドの使用
形式:setfacl [オプション] u:ユーザー名:権限ファイル...
setfacl [オプション] g:グループ名:権限ファイル...
共通コマンドオプション
-m:ACLポリシーを定義する
-x:指定されたACLポリシーをクリアする
-b:設定されているすべてのACLポリシーをクリアします
-R:再帰的に設定されるACLポリシー

getfacl document ... // ACLポリシーを表示

[root@A ~]# mkdir /nsd11
[root@A ~]# chmod o=--- /nsd11
[root@A ~]# ls -ld /nsd11
[root@A ~]# setfacl -m u:lisi:rwx /nsd11
[root@A ~]# setfacl -m u:zhangsan:rwx /nsd11
[root@A ~]# setfacl -m u:gelin01:rx /nsd11
[root@A ~]# setfacl -m u:gelin02:rx /nsd11
[root@A ~]# getfacl /nsd11
[root@A ~]# setfacl -x u:lisi /nsd11                    //删除用户lisi  ACL策略
[root@A ~]# getfacl /nsd11
[root@A ~]# setfacl -x u:zhangsan /nsd11      //删除用户zhangsan  ACL策略
[root@A ~]# getfacl /nsd11
[root@A ~]#  setfacl -b /nsd11                         //删除所有ACL策略
[root@A ~]#  getfacl /nsd11

総括する

上記は
、ユーザーと権限の追加と設定を含め、今日話していることです。より多くのコンテンツがあり、誰もがゆっくりと学習します。

おすすめ

転載: blog.csdn.net/weixin_46791581/article/details/108527590