ファイルを作成してsudo vim test
(なしで)自分のアカウントでファイルを開く場合はsudo
、ファイルを変更しようとすると(読み取り専用オプションが設定されている場合など)、編集者が文句を言うのはなぜですか?
私によると、私は所有者であり、ls -l
所有者はrwx
なぜファイルに書き込めないのですか?
答え1
ファイルを作成すると、sudo vim test
所有者はあなたではなくルートになります。したがって、後でファイルを編集するには、所有者をルートからユーザーに変更するか、権限を変更する必要があります。
望むより:
jordim@bucketlist-196008:~/test$ sudo vim test
jordim@bucketlist-196008:~/test$ ls -l
total 8
(...)
-rw-r--r-- 1 root root 2 Feb 22 15:43 test
(...)
生成されたファイルはroot:rootに属し、ルートのみがそのファイルに対する読み取りおよび書き込み権限を持ちます。このグループの他のユーザーと他のグループの他のユーザーは読み取りのみできます。
問題は、後で一般ユーザーとしてファイルを編集する必要がある場合にファイルを生成するために「sudo」を使用するのはなぜですか?
答え2
を使用してファイルを作成する場合、sudo command
ファイル所有者はですroot
。
例:
$ sudo vim test
$ ls -lsa test
4 -rw-r--r-- 1 root root 5 Feb 22 16:43 test
通常のアカウント(いいえ)を使用してファイルを更新(書き込み)しようとすると、ファイルにroot
書き込むことはできません(ファイル権限が誰にでも書き込み可能な場合を除く)。
例:
$ echo "testing 123..." > test
bash: test: Permission denied