Linux:ユーザーとグループ管理および権限管理
8502 ワード
linuxユーザーとグループ管理および権限管理
一、useraddコマンド:システムにユーザーを追加する
共通パラメータ:
-dホームディレクトリ-gホームグループ、-G追加グループ、-sデフォルトshellを指定します.-Mホームディレクトリを作成しないなどの内容-mホームディレクトリを作成する-rシステムアカウントを作成する(デフォルトではホームディレクトリを作成しない)-c説明(/etc/passwdの5番目のフィールド)-Nアカウントを作成する場合、同名グループを作成せず、デフォルトでusersグループ内に置く-uUID-o配合-uオプションで、UIDの一意性をチェックせず、UIDマルチユーザ名と
二、usermodコマンド:ユーザー設定の変更
共通パラメータ:
-u UID-g GID-G付加グループは、元のものが上書きされ、元のものが保持されると、-a(append)オプション-s SHELL-cの新しいコメント情報を同時に使用するには(comment)-dホーム新規ホームディレクトリは自動的に作成されません.新規ディレクトリを作成して元のホームデータを移動するには、-mオプション-l login_name新しい名前-L lockでユーザーを指定し、/etc/shadowパスワードバーに追加!-U unlockでユーザーを指定し、/etc/shadowパスワードバーに削除-e YYYY-MM-DDでユーザーアカウントの有効期限-f INACTIVE:デバイス非アクティブ期限
三、userdelコマンド:ユーザーの削除
共通パラメータ:
-rユーザーホームディレクトリの削除
四、idコマンド:ユーザー関連ID情報を表示する
共通パラメータ:
-u表示UID-g表示GID-G表示ユーザが属するグループのID-n表示名、ugGに合わせて使用
五、suコマンド:ユーザーの切り替え
一般的な方法:
su USERNAME:非ログイン切り替えで、ターゲットユーザーのプロファイルは読み込まれず、現在の作業ディレクトリは変更されません
su-USERNAME:ログイン式切替、ターゲットユーザープロファイルの読み取り、ホームディレクトリへの切替、完全切替
root suから他のユーザーへのパスワードは必要ありません.非rootユーザー切り替えに必要なパスワード
一般的なオプション:
-cアイデンティティ実行コマンドの切り替え
-lログインはsu-USERNAMEに相当します dushanユーザID を完全に切り替える.がlinuxユーザID に完全に切り替えられていない
注意:suはrootアイデンティティを切り替えただけですが、Shell環境は依然として一般ユーザーのShellです.su-ユーザーとShell環境を一緒にrootアイデンティティに切り替えた.Shell環境を切り替えてこそPATH環境変数エラーが発生せず、command not foundのエラーを報告します.
六、passwdコマンド:ユーザーパスワードの設定
一般的なオプション:
-d:指定ユーザーパスワードの削除-l:指定ユーザーのロック解除-u:指定ユーザーのロック解除-e:ユーザーの次回ログインの強制パスワードの変更-f:強制操作-n:mindays:最短使用期限の指定-x max days:最長使用期限の指定-w wardays:何日前から警告開始-i inactivedays:非アクティブ期限-stdin:標準入力からユーザーパスワード
七、chageコマンド:ユーザーパスワードポリシーの変更
一般的なオプション:
-d:LAST_DAY即時有効
#chfn dushan dushan dushan dushanユーザーに情報を追加#finger dushanユーザー情報を表示する(fingerパッケージをインストールする必要がある)
八、groupaddコマンド:グループの作成
一般的なオプション:
-g:GID番号を指定-r:システムグループのデフォルトcentos 6:id<500、centos 7:id<1000を作成
九、groupmodコマンド:グループの変更
一般的なオプション:
-n:新しい名前-g:新しいGID番号
groupdelコマンド:groupdel family family削除familyグループ
十、gpasswdコマンド:グループパスワード
一般的なオプション:
-a:指定したグループにユーザーを追加-d:指定したグループからユーザーを削除
十一、newgrpコマンド:一時的にメイングループを切り替える
十二、groupmemsコマンド:グループメンバーの調整
一般的なオプション:
-g,–groupグループ名変更指定グループ(rootのみ)-a,–add username指定ユーザー加入グループ-d,--delete usernameグループからユーザー-pを削除し、–purgeグループからすべてのメンバー-lを消去し、–list表示グループメンバーリスト
十三、newusersコマンド:ユーザーの一括作成
/etc/passwdフォーマットファイルが必要で、大量にユーザーを作成し、新しいマシンでユーザーを回復することができます.
十四、chpasswdコマンド:ユーザーパスワードの一括変更
chpasswd自体はインタラクティブコマンドで、dushan:centosと直接入力するとctrl+dが終了します.
十五、chownコマンド:ファイルの所属関係を修正する
/data/dirディレクトリとそのサブディレクトリとファイル属プライマリグループをapacheに設定
注意:chown-R apache.apacheはchown-R apache:apacheに等しい
十六、chmodコマンド:ファイル権限の変更
一、chomd常用方法
二、SUID、SGID:所有者を継承し、所属グループの権限
SUIDはバイナリプログラムに作用し,所有者権限を継承する.(理解、一般的にはわざわざ設定しない)
GUIDはバイナリプログラムに作用し,すべてのグループ権限を継承する.
フォルダ上で、新しいファイルが属するグループを継承することもできます.
例:/dataディレクトリにsgid権限を設定し、コラボレーションディレクトリとして、後でこのディレクトリの下にファイルを構築し、所属グループはすべて/dataディレクトリの所属グループと同じである.
三、Sticky(粘着ビット)権限設定:ファイルの所有者またはrootのみがディレクトリの下のファイルを削除できる
/dataディレクトリにsticky権限を設定する
四、ACL Access Control Listアクセス制御リスト
ACL有効化順序:所有者、カスタムユーザー、カスタムグループ、その他
setfaclの一般的なオプション:
-m権限の設定
-x権限の取り消し
-b権限のクリア
-R再帰
-Mリードリスト
-kフォルダ削除権限
五、rootユーザーはあるファイルに対して誤操作を防止する
一、useraddコマンド:システムにユーザーを追加する
共通パラメータ:
-dホームディレクトリ-gホームグループ、-G追加グループ、-sデフォルトshellを指定します.-Mホームディレクトリを作成しないなどの内容-mホームディレクトリを作成する-rシステムアカウントを作成する(デフォルトではホームディレクトリを作成しない)-c説明(/etc/passwdの5番目のフィールド)-Nアカウントを作成する場合、同名グループを作成せず、デフォルトでusersグループ内に置く-uUID-o配合-uオプションで、UIDの一意性をチェックせず、UIDマルチユーザ名と
apache ;shell /sbin/nolgoin; :apache; :daemon,bin; UID:80; home:/var/www
[root@centos7 ~]#getent passwd apache
[root@centos7 ~]#useradd -G daemon,bin -u 80 -r -m -d /var/www -s /sbin/nologin apache
二、usermodコマンド:ユーザー設定の変更
共通パラメータ:
-u UID-g GID-G付加グループは、元のものが上書きされ、元のものが保持されると、-a(append)オプション-s SHELL-cの新しいコメント情報を同時に使用するには(comment)-dホーム新規ホームディレクトリは自動的に作成されません.新規ディレクトリを作成して元のホームデータを移動するには、-mオプション-l login_name新しい名前-L lockでユーザーを指定し、/etc/shadowパスワードバーに追加!-U unlockでユーザーを指定し、/etc/shadowパスワードバーに削除-e YYYY-MM-DDでユーザーアカウントの有効期限-f INACTIVE:デバイス非アクティブ期限
dushan g1, g2 g3
[root@centos7 data]#usermod -g g1 -aG g2 dushan
[root@centos7 data]#id dushan
uid=1001(dushan) gid=1003(g1) groups=1003(g1),1004(g2),1005(g3)
三、userdelコマンド:ユーザーの削除
共通パラメータ:
-rユーザーホームディレクトリの削除
[root@centos ~]#userdel -r apache
四、idコマンド:ユーザー関連ID情報を表示する
共通パラメータ:
-u表示UID-g表示GID-G表示ユーザが属するグループのID-n表示名、ugGに合わせて使用
[root@centos ~]#id liuying
uid=1001(liuying) gid=1003(liuying) groups=1003(liuying),1002(home)
[root@centos ~]#id -Gn liuying
liuying home
id
五、suコマンド:ユーザーの切り替え
一般的な方法:
su USERNAME:非ログイン切り替えで、ターゲットユーザーのプロファイルは読み込まれず、現在の作業ディレクトリは変更されません
su-USERNAME:ログイン式切替、ターゲットユーザープロファイルの読み取り、ホームディレクトリへの切替、完全切替
root suから他のユーザーへのパスワードは必要ありません.非rootユーザー切り替えに必要なパスワード
一般的なオプション:
-cアイデンティティ実行コマンドの切り替え
-lログインはsu-USERNAMEに相当します
[root@centos7 ~]#su - dushan
Last login: Thu Sep 6 16:26:43 CST 2018 on pts/0
[dushan@centos7 ~]$ pwd
/home/dushan
[root@centos7 ~]#su dushan
[dushan@centos7 root]$ pwd
/root
注意:suはrootアイデンティティを切り替えただけですが、Shell環境は依然として一般ユーザーのShellです.su-ユーザーとShell環境を一緒にrootアイデンティティに切り替えた.Shell環境を切り替えてこそPATH環境変数エラーが発生せず、command not foundのエラーを報告します.
六、passwdコマンド:ユーザーパスワードの設定
一般的なオプション:
-d:指定ユーザーパスワードの削除-l:指定ユーザーのロック解除-u:指定ユーザーのロック解除-e:ユーザーの次回ログインの強制パスワードの変更-f:強制操作-n:mindays:最短使用期限の指定-x max days:最長使用期限の指定-w wardays:何日前から警告開始-i inactivedays:非アクティブ期限-stdin:標準入力からユーザーパスワード
echo "password"|passwd --stdin USERNAME >/dev/null
を受信 dushan
[root@centos7 ~]#passwd dushan
[root@centos7 ~]#echo 'dushan' | passwd --stdin dushan
Changing password for user dushan.
passwd: all authentication tokens updated successfully.
七、chageコマンド:ユーザーパスワードポリシーの変更
一般的なオプション:
-d:LAST_DAY即時有効
chage -d 0 dushan
次回ログイン強制リセットパスワード-E--expiredate:有効期限-l--inactive:非アクティブ期限-m--mindays:最短有効期間-M--maxdays:最長有効期間-W--wardays:警告日付-lパスワードポリシー表示#chage -E 2019-09-16 dushan
#chage -m 0 -M 42 -W 14 -I 7 dushan 0 , 42 , 14 , 7 。
#chage -d 0 dushan ,
#chfn dushan dushan dushan dushanユーザーに情報を追加#finger dushanユーザー情報を表示する(fingerパッケージをインストールする必要がある)
八、groupaddコマンド:グループの作成
一般的なオプション:
-g:GID番号を指定-r:システムグループのデフォルトcentos 6:id<500、centos 7:id<1000を作成
nginx
[root@centos7 ~]# groupadd -r -g 8080 nginx
[root@centos7 ~]# getent group nginx
九、groupmodコマンド:グループの変更
一般的なオプション:
-n:新しい名前-g:新しいGID番号
[root@centos7 ~]#groupmod -g 2222 -n family home
[root@centos7 ~]#getent group family
family:$5$WOpdK/R32tI5ewPI$tZBOnDP0:2222:dushan
groupdelコマンド:groupdel family family削除familyグループ
十、gpasswdコマンド:グループパスワード
一般的なオプション:
-a:指定したグループにユーザーを追加-d:指定したグループからユーザーを削除
[root@centos7 ~]#gpasswd -a dushan family
Adding user dushan to group family
[root@centos7 ~]#gpasswd -d dushan family
Removing user dushan from group family
十一、newgrpコマンド:一時的にメイングループを切り替える
, ,
[root@centos7 ~]#su - dushan
Last login: Wed Jul 17 15:55:19 CST 2019 on pts/0
[dushan@centos7 ~]$ touch test.log
[dushan@centos7 ~]$ ll test.log
-rw-rw-r-- 1 dushan dushan 0 Jul 18 14:24 test.log
[dushan@centos7 ~]$ newgrp family
Password:
[dushan@centos7 ~]$ touch test2.log
[dushan@centos7 ~]$ ll test2.log
-rw-r--r-- 1 dushan family 0 Jul 18 14:25 test2.log
十二、groupmemsコマンド:グループメンバーの調整
一般的なオプション:
-g,–groupグループ名変更指定グループ(rootのみ)-a,–add username指定ユーザー加入グループ-d,--delete usernameグループからユーザー-pを削除し、–purgeグループからすべてのメンバー-lを消去し、–list表示グループメンバーリスト
[root@centos7 ~]#groupmems -g family -a dushan family dushan
[root@centos7 ~]#groupmems -l -g family family
groups+user user
[root@centos7 ~]#groups dushan
dushan : dushan family
十三、newusersコマンド:ユーザーの一括作成
/etc/passwdフォーマットファイルが必要で、大量にユーザーを作成し、新しいマシンでユーザーを回復することができます.
[root@centos7 ~]#newusers /etc/passwd.copy
, , cp
#su - test
#cp -r /etc/skel/. .
十四、chpasswdコマンド:ユーザーパスワードの一括変更
chpasswd自体はインタラクティブコマンドで、dushan:centosと直接入力するとctrl+dが終了します.
[root@centos7 ~]#cat /data/passwd.txt |chpasswd
:
[root@centos7 ~]#cat /data/passwd.txt
dushan:centos
tom:centos
十五、chownコマンド:ファイルの所属関係を修正する
/data/dirディレクトリとそのサブディレクトリとファイル属プライマリグループをapacheに設定
[root@centos7 data]#chown -R apache.apache /data/dir
[root@centos7 data]#ll
total 8
lrwxrwxrwx 1 root root 19 Sep 6 09:47 apachectl -> /usr/sbin/apachectl
drwxr-xr-x 3 apache apache 33 Sep 6 09:59 dir
-rw-r--r-- 1 root root 98 Sep 6 12:20 fstab.out
-rw-r--r-- 1 root root 170 Sep 3 10:26 functions.bak
注意:chown-R apache.apacheはchown-R apache:apacheに等しい
#chgrp home testfile.txt home
十六、chmodコマンド:ファイル権限の変更
一、chomd常用方法
1. 、
[root@centos7 ]#chmod u+wx,g-r,o=rx checkid.sh
2. testdir : 、 、 ,
[root@centos7 ~]# chmod -R g=rwX testdir/
X
3. fstab.out
[root@centos7 ~]#chmod 600 fstab.out
4. f2 , f1
[root@centos7 ~]#chmod --reference=f2 f1
二、SUID、SGID:所有者を継承し、所属グループの権限
SUIDはバイナリプログラムに作用し,所有者権限を継承する.(理解、一般的にはわざわざ設定しない)
chmod suid
[root@centos7 ~]#chmod u+s chmod
chmod suid
[root@centos7 ~]#chmod u-s chmod
: /usr/bin/passwd, ,/bin/vim suid , /etc/passwd root!
[root@centos7 ~]#ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
GUIDはバイナリプログラムに作用し,すべてのグループ権限を継承する.
フォルダ上で、新しいファイルが属するグループを継承することもできます.
例:/dataディレクトリにsgid権限を設定し、コラボレーションディレクトリとして、後でこのディレクトリの下にファイルを構築し、所属グループはすべて/dataディレクトリの所属グループと同じである.
[root@centos7 ~]#chmod g+s /data
[root@centos7 ~]#ll -d /data
drwxrwsr-x. 3 root sales 85 Sep 6 16:31 /data
三、Sticky(粘着ビット)権限設定:ファイルの所有者またはrootのみがディレクトリの下のファイルを削除できる
/dataディレクトリにsticky権限を設定する
[root@centos7 ~]#chmod o+t /data
chmod 1777
chmod 7777 suid guid sticky ,
[root@centos7 ~]#ll -d /data
drwxrwxrwt. 3 root root 85 Sep 6 17:07 /data
/data sticky
[root@centos7 data]#chmod o-t /data
四、ACL Access Control Listアクセス制御リスト
ACL有効化順序:所有者、カスタムユーザー、カスタムグループ、その他
setfaclの一般的なオプション:
-m権限の設定
-x権限の取り消し
-b権限のクリア
-R再帰
-Mリードリスト
setfacl -M acl.txt f1
(f 1ファイルにacl.txtファイルの権限を設定)-kフォルダ削除権限
setfacl -k dir
/data/dir g1 ;
[root@centos7 ~]#setfacl -Rm g:g1:rwx /data/dir
dushan /data/dir
[root@centos7 ~]#setfacl -m u:dushan:r-- /data/dir
[root@centos7 ~]#setfacl -b /data/dir
ACL
[root@centos7 ~]#getfacl /data/dir
file1 acl file2
[root@centos7 ~]#getfacl file1 |setfacl --set-file=- file2
ACL
getfacl -R /tmp/dir >/root/acl.txt
setfacl -R --set-file=acl.txt /tmp/dir
:
setfacl --restore /root/acl.txt
五、rootユーザーはあるファイルに対して誤操作を防止する
root
#chattr +i /etc/
#chattr -i /etc
root
#chattr -a /etc
#chattr +a /etc
, +A no time updates( )
#chattr +A
#chattr -A